Class PlayerToSpectatorRequest

  • All Implemented Interfaces:
    sfs2x.client.requests.IRequest

    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.

    Example
    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:
    SFSEvent.PLAYER_TO_SPECTATOR, SFSEvent.PLAYER_TO_SPECTATOR_ERROR, SpectatorToPlayerRequest
    • Field Detail

      • KEY_ROOM_ID

        public static final java.lang.String KEY_ROOM_ID
        * API internal usage only *
        See Also:
        Constant Field Values
      • KEY_USER_ID

        public static final java.lang.String KEY_USER_ID
        * API internal usage only *
        See Also:
        Constant Field Values
    • Constructor Detail

      • PlayerToSpectatorRequest

        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.
        Parameters:
        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
    • Method Detail

      • validate

        public void validate​(ISmartFox sfs)
                      throws sfs2x.client.exceptions.SFSValidationException
        * API internal usage only *
        Throws:
        sfs2x.client.exceptions.SFSValidationException
      • execute

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