接口 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 RoomServiceof()创建一个 RoomService 对象实例(框架内置的默认实现)optionalRoom(long roomId) 通过 roomId 查找房间 OptionaloptionalRoomByUserId(long userId) 通过 userId 查找房间 Optionaldefault voidremovePlayer(Room room, long userId) 将玩家从房间内内移除 并删除 userId 与 roomId 的关联default voidremovePlayer(Room room, Player player) 将玩家从房间内内移除 并删除 userId 与 roomId 的关联default voidremoveRoom(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
-