接口 RoomService

所有已知子接口:
GameRoomService

public interface RoomService
房间管理相关的扩展接口
     房间的添加
     房间的删除
     房间与玩家之间的关联
     房间查找
         通过 roomId 查找
         通过 userId 查找
 
子类扩展实现
     如果你使用了lombok, 推荐这种方式. 只需要在对象中新增此行代码
     
     // 房间 map
     final Map<Long, Room> roomMap = new ConcurrentHashMap<>();
     // 玩家对应的房间 map
     final Map<Long, Long> userRoomMap = new ConcurrentHashMap<>();
     
 
内置的默认实现

     RoomService roomService = RoomService.of();
 
 
从以下版本开始:
21.8
作者:
渔民小镇
日期:
2022-03-31
  • 方法详细资料

    • getRoomMap

      Map<Long,Room> getRoomMap()
      房间 map
           key : roomId
           value : room
       
      返回:
      房间 map
    • getUserRoomMap

      Map<Long,Long> getUserRoomMap()
      玩家对应的房间 map
           key : userId
           value : roomId
       
      返回:
      玩家对应的房间 map
    • getRoomByUserId

      default <T extends Room> T getRoomByUserId(long userId)
      通过 userId 查找房间
      类型参数:
      T - Room
      参数:
      userId - userId
      返回:
      房间
    • getRoom

      default <T extends Room> T getRoom(long roomId)
      通过 roomId 查找房间
      类型参数:
      T - Room
      参数:
      roomId - roomId
      返回:
      房间
    • optionalRoom

      default <T extends Room> Optional<T> optionalRoom(long roomId)
      通过 roomId 查找房间 Optional
      类型参数:
      T - Room
      参数:
      roomId - roomId
      返回:
      Optional Room
    • optionalRoomByUserId

      default <T extends Room> Optional<T> optionalRoomByUserId(long userId)
      通过 userId 查找房间 Optional
      类型参数:
      T - Room
      参数:
      userId - userId
      返回:
      Optional Room
    • addRoom

      default void addRoom(Room room)
      添加房间
      参数:
      room - 房间
    • removeRoom

      default void removeRoom(Room room)
      删除房间
      参数:
      room - 房间
    • addPlayer

      default void addPlayer(Room room, Player player)
      添加玩家到房间里,并让 userId 与 roomId 关联
      参数:
      room - 间里
      player - 玩家
    • removePlayer

      default void removePlayer(Room room, Player player)
      将玩家从房间内内移除 并删除 userId 与 roomId 的关联
      参数:
      room - 房间
      player - 玩家
    • removePlayer

      default void removePlayer(Room room, long userId)
      将玩家从房间内内移除 并删除 userId 与 roomId 的关联
      参数:
      room - 房间
      userId - userId
    • listRoom

      default <T extends Room> Collection<T> listRoom()
      得到房间列表
      类型参数:
      T - Room
      返回:
      房间
    • of

      static RoomService of()
      创建一个 RoomService 对象实例(框架内置的默认实现)
      返回:
      RoomService