Class PlayerToSpectatorRequest

  extended by sfs2x.client.requests.BaseRequest
      extended by sfs2x.client.requests.PlayerToSpectatorRequest
All Implemented Interfaces:

public class PlayerToSpectatorRequest
extends BaseRequest

Turns the current user from player to spectator in a Game Room.

If the operation is successful, all the users in the target Room are notified with the playerToSpectator event. The operation could fail if no spectator slots are available in the Game Room at the time of the request; in this case the playerToSpectatorError event is dispatched to the requester's client.

The following example turns the current user from player to spectator in the last joined Game Room:

 private void someMethod() {
     sfs.addEventListener(SFSEvent.PLAYER_TO_SPECTATOR, new IEventListener() {
         public void dispatch(BaseEvent evt) throws SFSException {
             System.out.println("Player " + (User)evt.getArguments().get("user") + " is now a spectator");
     sfs.addEventListener(SFSEvent.PLAYER_TO_SPECTATOR_ERROR, new IEventListener() {
         public void dispatch(BaseEvent evt) throws SFSException {
             System.out.println("Unable to become a spectator due to the following error: " + evt.getArguments().get("errorMessage"));
     // Switch player to spectator
     sfs.send(new PlayerToSpectatorRequest());

See Also:

Field Summary
static java.lang.String KEY_ROOM_ID
          * API internal usage only *
static java.lang.String KEY_USER_ID
          * API internal usage only *
Fields inherited from class sfs2x.client.requests.BaseRequest
AddBuddy, AdminMessage, AutoJoin, BanUser, BlockBuddy, CallExtension, ChangeRoomCapacity, ChangeRoomName, ChangeRoomPassword, CreateRoom, CreateSFSGame, FindRooms, FindUsers, GenericMessage, GetRoomList, GoOnline, Handshake, InitBuddyList, InvitationReply, InviteUser, JoinRoom, JoinRoomInvite, KEY_ERROR_CODE, KEY_ERROR_PARAMS, KickUser, LeaveRoom, Login, Logout, ManualDisconnection, ModeratorMessage, ObjectMessage, PingPong, PlayerToSpectator, PrivateMessage, PublicMessage, QuickJoinGame, RemoveBuddy, SetBuddyVariables, SetRoomVariables, SetUserPosition, SetUserVariables, SpectatorToPlayer, SubscribeRoomGroup, UnsubscribeRoomGroup
Constructor Summary
PlayerToSpectatorRequest(Room targetRoom)
          Creates a new PlayerToSpectatorRequest instance.
Method Summary
 void execute(ISmartFox sfs)
          * API internal usage only *
 void validate(ISmartFox sfs)
          * API internal usage only *
Methods inherited from class sfs2x.client.requests.BaseRequest
getId, getMessage, getTargetController, isEncrypted, setEncrypted, setId, setTargetController
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Detail


public static final java.lang.String KEY_ROOM_ID
* API internal usage only *

See Also:
Constant Field Values


public static final java.lang.String KEY_USER_ID
* API internal usage only *

See Also:
Constant Field Values
Constructor Detail


public PlayerToSpectatorRequest(Room targetRoom)
Creates a new PlayerToSpectatorRequest instance. The instance must be passed to the SmartFox.send() method for the request to be performed.

targetRoom - The Room object corresponding to the Room in which the player should be turned to spectator. If null, the last Room joined by the user is used.
See Also:
SmartFox.send(sfs2x.client.requests.IRequest), Room


public PlayerToSpectatorRequest()
See Also:
Method Detail


public void validate(ISmartFox sfs)
              throws sfs2x.client.exceptions.SFSValidationException
* API internal usage only *



public void execute(ISmartFox sfs)
* API internal usage only *