Class SFSMMOApi

java.lang.Object
com.smartfoxserver.api.SFSMMOApi
All Implemented Interfaces:
ISFSMMOApi

public class SFSMMOApi extends Object implements ISFSMMOApi
Provides access to the API for managing MMORooms.

Tutorial

To learn more see this introductory tutorial.
See Also:
  • Field Details

    • sfs

      protected final SmartFoxServer sfs
    • log

      protected final org.slf4j.Logger log
    • sfsAPI

      protected final SFSApi sfsAPI
    • mmoResponseApi

      protected final com.smartfoxserver.api.response.ISFSMMOResponseApi mmoResponseApi
  • Constructor Details

  • Method Details

    • getResponseAPI

      public com.smartfoxserver.api.response.ISFSMMOResponseApi getResponseAPI()
      Specified by:
      getResponseAPI in interface ISFSMMOApi
    • sendObjectMessage

      public void sendObjectMessage(Room targetRoom, User sender, ISFSObject message, Vec3D aoi)

      Send an Object message based on a custom SFSObject that can contain any data. Typically this is used for sending game moves to players or other game related updates.

      The difference with the regular version of this Request is that it works with a custom Area Of Interest (AOI) inside an MMORoom. Instead of using the default Room AOI here we can specify a custom AOI which should be smaller that the default one.

      NOTE: The sender must be joined in the target MMORoom.

      Specified by:
      sendObjectMessage in interface ISFSMMOApi
      Parameters:
      targetRoom - the MMORoom
      sender - the sender of the Object
      message - the data
      aoi - the custom Area Of Interest (AOI)
    • sendPublicMessage

      public void sendPublicMessage(Room targetRoom, User sender, String message, ISFSObject params, Vec3D aoi)
      Sends a public chat message.

      The difference with the regular version of this Request is that it works with a custom Area Of Interest (AOI) inside an MMORoom. Instead of using the default Room AOI here we can specify a custom AOI which should be smaller that the default one.

      Specified by:
      sendPublicMessage in interface ISFSMMOApi
      Parameters:
      targetRoom - the MMORoom
      sender - the sender of the Message
      message - the chat message
      params - an optional data object (e.g. to define font and color of the message)
      aoi - the custom Area Of Interest (AOI)
    • setUserPosition

      public void setUserPosition(User user, Vec3D pos, Room targetRoom)
      Set the new User position inside an MMORoom
      Specified by:
      setUserPosition in interface ISFSMMOApi
      Parameters:
      user - The User
      pos - The new position
      targetRoom - The target MMORoom
      See Also:
    • setMMOItemPosition

      public void setMMOItemPosition(BaseMMOItem item, Vec3D pos, Room targetRoom)
      Set or update an MMOItem inside an MMORoom
      Specified by:
      setMMOItemPosition in interface ISFSMMOApi
      Parameters:
      item - the MMOItem
      pos - the position in 2D/3D space
      targetRoom - the target MMORoom
      See Also:
    • removeMMOItem

      public void removeMMOItem(BaseMMOItem item)
      Remove an MMOItem from an MMORoom. (A Room is not required here as the system already keeps track of which MMOItem belongs to which MMORoom) This in turn will affect all Users who had this MMOItem in their AOI via a client side PROXIMITY_LIST_UPDATE
      Specified by:
      removeMMOItem in interface ISFSMMOApi
      Parameters:
      item - the MMOItem to remove
      See Also:
    • setMMOItemVariables

      public void setMMOItemVariables(BaseMMOItem item, List<IMMOItemVariable> variables)
      Set MMOItemVariables. Only the changed variables are broadcast to Users that can "see" the MMOItem in the MMORoom. In order to delete a variable set it to null.
      Specified by:
      setMMOItemVariables in interface ISFSMMOApi
      Parameters:
      item - the MMOItem, owner of the variables
      variables - the variables
      See Also:
    • setMMOItemVariables

      public void setMMOItemVariables(BaseMMOItem item, List<IMMOItemVariable> variables, boolean fireClientEvent)
      Set MMOItemVariables. Only the changed variables are broadcast to the Users that can "see" the MMOItem in the MMORoom. In order to delete a variable set it to null.
      Specified by:
      setMMOItemVariables in interface ISFSMMOApi
      Parameters:
      item - the MMOItem, owner of the variables
      variables - the variables
      fireClientEvent - set to true to send an update to clients
      See Also: