Interface ISFSGameApi

  • All Known Implementing Classes:
    SFSGameApi

    public interface ISFSGameApi
    • Method Detail

      • getResponseAPI

        com.smartfoxserver.v2.api.response.ISFSGameResponseApi getResponseAPI()
      • quickJoinGame

        Room quickJoinGame​(User player,
                           MatchExpression expression,
                           Zone zone,
                           java.lang.String groupId)
                    throws SFSJoinRoomException
        Quick join a User in an SFSGame.

        The API will:

        1. match the provided MatchExpression in the scope (Zone/Group) to find a list of possible Rooms that the Player can join.
        2. match the User properties with the SFSGame ones (if any)
        The first Room that matches is joined, otherwise an error is returned.
        If the User is already joined in an another Room he will not automatically leave that Room.
        If you want the User to leave the previous Room use the overloaded version quickJoinGame(User, MatchExpression, Zone, String, Room)
        Parameters:
        player - the User who wants to join a game
        expression - a MatchExpression with the Room search criteria
        zone - the Zone where to search the Rooms
        groupId - is non-null this will restrict the match to the Rooms in that group
        Returns:
        the Room that was joined
        Throws:
        SFSJoinRoomException
        See Also:
        SFSGame, MatchExpression
      • quickJoinGame

        Room quickJoinGame​(User player,
                           MatchExpression expression,
                           Zone zone,
                           java.lang.String groupId,
                           Room roomToLeave)
                    throws SFSJoinRoomException
        Quick join a User in an SFSGame.

        The API will:

        1. match the provided MatchExpression in the scope (Zone/Group) to find a list of possible Rooms that the Player can join.
        2. match the User properties with the SFSGame ones (if any)
        The first Room that matches the criteria is joined, otherwise an error is returned.
        Parameters:
        player - the User who wants to join a game
        expression - a MatchExpression with the Room search criteria
        zone - the Zone where to search the Rooms
        groupId - is non-null this will restrict the match to the Rooms in that group
        roomToLeave - the Room to leave after having successfully joined a Game.
        Returns:
        the Room that was joined
        Throws:
        SFSJoinRoomException
        See Also:
        SFSGame, MatchExpression
      • quickJoinGame

        Room quickJoinGame​(User player,
                           MatchExpression expression,
                           java.util.Collection<Room> searchableRooms,
                           Room roomToLeave)
                    throws SFSJoinRoomException
        Quick join a User in an SFSGame.

        The API will:

        1. match the provided MatchExpression in the scope (Zone/Group) to find a list of possible Rooms that the Player can join.
        2. match the User properties with the SFSGame ones (if any)
        The first Room that matches the criteria is joined, otherwise an error is returned.
        Parameters:
        player - the User who wants to join a game
        expression - a MatchExpression with the Room search criteria
        searchableRooms - a List of Rooms to search
        roomToLeave - the Room to leave after having successfully joined a Game.
        Returns:
        the Room that was joined
        Throws:
        SFSJoinRoomException
        See Also:
        SFSGame, MatchExpression
      • sendInvitation

        void sendInvitation​(Invitation invitation,
                            InvitationCallback callBackHandler)
        Send an Invitation to a User.
        An Invitation can be sent for various purposes such as for joining a room/game, adding a friend to the Buddy List etc...
        Parameters:
        invitation - the Invitation
        callBackHandler - the Invitation callback handler
        See Also:
        SFSInvitation, InvitationCallback
      • sendInvitation

        void sendInvitation​(User inviter,
                            java.util.List<User> invitees,
                            int expirySeconds,
                            InvitationCallback callBackHandler,
                            ISFSObject params)
        Send an Invitation to a User.
        An Invitation can be sent for various purposes such as for joining a room/game, adding a friend to the Buddy List etc...
        Parameters:
        inviter - the Inviter
        invitees - the Invitee
        expirySeconds - the amount of time allowed for the Invitee to accept or refuse the invitation
        callBackHandler - the Invitation callback handler
        params - custom Invitation parameters
        See Also:
        SFSInvitation, InvitationCallback
      • replyToInvitation

        void replyToInvitation​(User invitedUser,
                               int invitationId,
                               InvitationResponse reply,
                               ISFSObject params,
                               boolean fireClientEvent)
        Handle the Invitation reply of a User
        Parameters:
        invitedUser - the invited User
        invitationId - the id of the invitation
        reply - the reply
        params - optional parameters
        fireClientEvent - will fire a client event in case of failure
      • sendJoinRoomInvitation

        void sendJoinRoomInvitation​(Room target,
                                    User inviter,
                                    java.util.List<User> invitees,
                                    int expirySeconds,
                                    boolean asSpect,
                                    boolean leaveLastJoinedRoom,
                                    ISFSObject params)
        Invites Users / Players in an existing Room.
        Parameters:
        target - the Room where people accepting the invitation will be joined in
        inviter - the sender of the invitation. Null can be passed to specify that the invitation is on behalf of the server itself
        invitees - a list of people invited in the Room
        expirySeconds - the amount of seconds allowed to reply to the invitation
        asSpect - if true the provided list of people will be joined as spectators (where applicable, i.e. Game Rooms)
        leaveLastJoinedRoom - if true the users joining the target Room will leave the previously joined Room
        params - an optional SFSObject with custom data that is sent to the invitees
        Since:
        2.12.0
      • sendJoinRoomInvitation

        void sendJoinRoomInvitation​(Room target,
                                    User inviter,
                                    java.util.List<User> invitees,
                                    int expirySeconds,
                                    boolean asSpect,
                                    boolean leaveLastJoinedRoom)
        Invites Users / Players in an existing Room. No custom parameters used.
        Parameters:
        target - the Room where people accepting the invitation will be joined in
        inviter - the sender of the invitation. Null can be passed to specify that the invitation is on behalf of the server itself
        invitees - a list of people invited in the Room
        expirySeconds - the amount of seconds allowed to reply to the invitation
        asSpect - if true the provided list of people will be joined as spectators (where applicable, i.e. Game Rooms)
        leaveLastJoinedRoom - if true the users joining the target Room will leave the previously joined Room
        Since:
        2.12.0
      • sendJoinRoomInvitation

        void sendJoinRoomInvitation​(Room target,
                                    User inviter,
                                    java.util.List<User> invitees,
                                    int expirySeconds)
        Invites Users / Players in an existing Room. No custom parameters used. Assumes that asSpect = false, and leaveLastJoinedRoom = false.
        Parameters:
        target - the Room where people accepting the invitation will be joined in
        inviter - the sender of the invitation. Null can be passed to specify that the invitation is on behalf of the server itself
        invitees - a list of people invited in the Room
        expirySeconds - the amount of seconds allowed to reply to the invitation
        Since:
        2.12.0