接口 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
-
方法概要
修饰符和类型方法说明default void
添加玩家到房间里,并让 userId 与 roomId 关联default void
添加房间default <T extends Room>
TgetRoom
(long roomId) 通过 roomId 查找房间default <T extends Room>
TgetRoomByUserId
(long userId) 通过 userId 查找房间房间 map玩家对应的房间 mapdefault <T extends Room>
Collection<T> listRoom()
得到房间列表static RoomService
of()
创建一个 RoomService 对象实例(框架内置的默认实现)optionalRoom
(long roomId) 通过 roomId 查找房间 OptionaloptionalRoomByUserId
(long userId) 通过 userId 查找房间 Optionaldefault void
removePlayer
(Room room, long userId) 将玩家从房间内内移除 并删除 userId 与 roomId 的关联default void
removePlayer
(Room room, Player player) 将玩家从房间内内移除 并删除 userId 与 roomId 的关联default void
removeRoom
(Room room) 删除房间
-
方法详细资料
-
getRoomMap
房间 mapkey : roomId value : room
- 返回:
- 房间 map
-
getUserRoomMap
玩家对应的房间 mapkey : userId value : roomId
- 返回:
- 玩家对应的房间 map
-
getRoomByUserId
通过 userId 查找房间- 类型参数:
T
- Room- 参数:
userId
- userId- 返回:
- 房间
-
getRoom
通过 roomId 查找房间- 类型参数:
T
- Room- 参数:
roomId
- roomId- 返回:
- 房间
-
optionalRoom
通过 roomId 查找房间 Optional- 类型参数:
T
- Room- 参数:
roomId
- roomId- 返回:
- Optional Room
-
optionalRoomByUserId
通过 userId 查找房间 Optional- 类型参数:
T
- Room- 参数:
userId
- userId- 返回:
- Optional Room
-
addRoom
添加房间- 参数:
room
- 房间
-
removeRoom
删除房间- 参数:
room
- 房间
-
addPlayer
添加玩家到房间里,并让 userId 与 roomId 关联- 参数:
room
- 间里player
- 玩家
-
removePlayer
将玩家从房间内内移除 并删除 userId 与 roomId 的关联- 参数:
room
- 房间player
- 玩家
-
removePlayer
将玩家从房间内内移除 并删除 userId 与 roomId 的关联- 参数:
room
- 房间userId
- userId
-
listRoom
得到房间列表- 类型参数:
T
- Room- 返回:
- 房间
-
of
创建一个 RoomService 对象实例(框架内置的默认实现)- 返回:
- RoomService
-