Interface Room

All Known Implementing Classes:
SimpleRoom

public interface Room
Room
Since:
21.8
Author:
渔民小镇
date:
2022-03-31
  • Method Details

    • getPlayerMap

      Map<Long,Player> getPlayerMap()
      Users, including Robot. key : userId
      Returns:
      Users
    • getRealPlayerMap

      Map<Long,Player> getRealPlayerMap()
      All real users key : userId
      Returns:
      Real users
      Since:
      21.23
    • getRobotMap

      Map<Long,Player> getRobotMap()
      All Robots key : userId
      Returns:
      Robot Map
      Since:
      21.23
    • getPlayerSeatMap

      Map<Integer,Long> getPlayerSeatMap()
      User positions. key: seat, value: userId
      Returns:
      User positions
    • getRoomId

      long getRoomId()
      get roomId
      Returns:
      roomId
    • setRoomId

      void setRoomId(long roomId)
      set roomId
      Parameters:
      roomId - roomId
    • getSpaceSize

      int getSpaceSize()
      get room space size
      Returns:
      Room space size. For example, 4 means the room can hold a maximum of 4 players.
    • setSpaceSize

      void setSpaceSize(int spaceSize)
      set room space size
      Parameters:
      spaceSize - spaceSize
    • listPlayer

      default <T extends Player> Collection<T> listPlayer()
      Player list: All users, including Robot
      Type Parameters:
      T - Player
      Returns:
      All players
    • streamPlayer

      default <T extends Player> Stream<T> streamPlayer()
      stream players
      Returns:
      player Stream
    • listRealPlayer

      default <T extends Player> Collection<T> listRealPlayer()
      Real player list: All real users (excluding Robots)
      Type Parameters:
      T - Player
      Returns:
      All real players
    • streamRealPlayer

      default <T extends Player> Stream<T> streamRealPlayer()
      stream real players
      Returns:
      player Stream
    • listRobot

      default <T extends Player> Collection<T> listRobot()
      RobotList
      Type Parameters:
      T - Robot
      Returns:
      RobotList
    • streamRobot

      default <T extends Player> Stream<T> streamRobot()
      stream robots
      Returns:
      player Stream
    • listPlayerId

      default Collection<Long> listPlayerId()
      userId Collection
      Returns:
      userId collection
    • listRealPlayerId

      default Collection<Long> listRealPlayerId()
    • listRobotPlayerId

      default Collection<Long> listRobotPlayerId()
      Robot UserId Collection
      Returns:
      userId collection
    • getPlayerById

      default <T extends Player> T getPlayerById(long userId)
      Find player by userId
      Type Parameters:
      T - Player
      Parameters:
      userId - userId
      Returns:
      Player
    • existUser

      default boolean existUser(long userId)
      Check if the user exists in the room
      Parameters:
      userId - userId
      Returns:
      true if exists
    • getPlayerBySeat

      default <T extends Player> T getPlayerBySeat(int seat)
      Find player by seat
      Type Parameters:
      T - Player
      Parameters:
      seat - seat
      Returns:
      Player
    • addPlayer

      default void addPlayer(Player player)
      Add player to the room
      Parameters:
      player - Player
    • removePlayer

      default void removePlayer(Player player)
      Remove player
      Parameters:
      player - Player
    • ifPlayerExist

      default <T extends Player> void ifPlayerExist(long userId, Consumer<T> action)
      Executes the given action if the player is in the room, otherwise does nothing.
      Type Parameters:
      T - t
      Parameters:
      userId - userId
      action - The given action
    • ifPlayerNotExist

      default void ifPlayerNotExist(long userId, Runnable runnable)
      Executes the given action if the player is not in the room, otherwise does nothing.
      Parameters:
      userId - userId
      runnable - The given action
    • countPlayer

      default int countPlayer()
      Count the number of players in the room, including Robots
      Returns:
      Number of players
    • countRealPlayer

      default int countRealPlayer()
      Count the number of real players in the room
      Returns:
      Number of real players
    • countRobot

      default int countRobot()
      Count the number of Robots in the room
      Returns:
      Number of Robots
    • isEmptyPlayer

      default boolean isEmptyPlayer()
      Check if the room has no players, including Robots
      Returns:
      true if the room has no players
    • isEmptyRealPlayer

      default boolean isEmptyRealPlayer()
    • isEmptyRobot

      default boolean isEmptyRobot()
      Check if the room has no Robots
      Returns:
      true if the room has no Robots
    • isRobot

      default boolean isRobot(long userId)
      Check if it is a Robot
      Parameters:
      userId - userId
      Returns:
      true: Robot
      Since:
      21.23
    • isRealPlayer

      default boolean isRealPlayer(long userId)
      Check if it is a real user
      Parameters:
      userId - userId
      Returns:
      true: real player
      Since:
      21.23
    • getEmptySeatNo

      default int getEmptySeatNo()
      Get an empty seat number
      Returns:
      >=0 indicates there is an available seat
    • hasSeat

      default boolean hasSeat()
      Check if there is still an empty seat
      Returns:
      true if there is still an empty seat
      Since:
      21.23
    • isReadyPlayers

      default boolean isReadyPlayers()
      Check if all players are ready
      Returns:
      true if all players are ready
    • forEach

      default void forEach(BiConsumer<Long,Player> action)
      forEach players, the first argument is the userId
      Parameters:
      action - action
    • executeTask

      default void executeTask(Runnable task)
      Executed in domain events, this method is thread-safe
      Parameters:
      task - task
      Since:
      21.23
    • executeDelayTask

      default void executeDelayTask(Runnable task, long delayMilliseconds)
      Delayed execution of tasks, this method is thread-safe
      Parameters:
      task - task
      delayMilliseconds - delayMilliseconds
      Since:
      21.23
    • setOperationService

      default void setOperationService(OperationService operationService)
      setOperationService
      Parameters:
      operationService - operationService
      Since:
      21.28
    • getOperationService

      default OperationService getOperationService()
      getOperationService
      Returns:
      OperationService
      Since:
      21.28
    • getOperationHandler

      default OperationHandler getOperationHandler(OperationCode operationCode)
      get OperationHandler by OperationCode
      Parameters:
      operationCode - operationCode
      Returns:
      OperationHandler
      Since:
      21.28
    • ofOperationContext

      default OperationContext ofOperationContext(OperationHandler operationHandler)
      create OperationContext
      Parameters:
      operationHandler - operationHandler
      Returns:
      OperationContext operationHandler
      Since:
      21.23
    • operation

      default void operation(OperationCode operationCode)
      execute operation
      Parameters:
      operationCode - operationCode
      Since:
      21.28
    • operation

      default void operation(OperationCode operationCode, long userId)
      execute operation
      Parameters:
      operationCode - operationCode
      userId - userId
      Since:
      21.28
    • operation

      default void operation(OperationCode operationCode, long userId, Object commandMessage)
      execute operation
      Parameters:
      operationCode - operationCode
      userId - userId
      commandMessage - commandMessage
      Since:
      21.28
    • operation

      default void operation(OperationCode operationCode, FlowContext flowContext)
      execute operation
      Parameters:
      operationCode - operationCode
      flowContext - flowContext
      Since:
      21.28
    • operation

      default void operation(OperationCode operationCode, FlowContext flowContext, Object commandMessage)
      execute operation
      Parameters:
      operationCode - operationCode
      flowContext - flowContext
      commandMessage - commandMessage
      Since:
      21.28
    • operation

      default void operation(OperationHandler operationHandler, long userId, Object commandMessage)
      execute operation
      Parameters:
      operationHandler - operationHandler
      userId - userId
      commandMessage - commandMessage
      Since:
      21.28
    • operation

      default void operation(OperationHandler operationHandler, FlowContext flowContext, Object commandMessage)
      execute operation
      Parameters:
      operationHandler - operationHandler
      flowContext - flowContext
      commandMessage - commandMessage
      Since:
      21.28
    • operation

      default void operation(OperationHandler operationHandler, FlowContext flowContext)
      execute operation
      Parameters:
      operationHandler - operationHandler
      flowContext - flowContext
      Since:
      25.1
    • ofRangeBroadcast

      default RangeBroadcast ofRangeBroadcast(CmdInfo cmdInfo)
      Create a RangeBroadcast, which will add all players in the current room by default.
      Returns:
      RangeBroadcast The broadcast within the range
    • ofEmptyRangeBroadcast

      default RangeBroadcast ofEmptyRangeBroadcast(CmdInfo cmdInfo)
      Create a RangeBroadcast
      Returns:
      RangeBroadcast The broadcast within the range