接口 Room
- 所有超级接口:
Serializable
- 所有已知实现类:
SimpleRoom
房间接口
- 从以下版本开始:
- 21.8
- 作者:
- 渔民小镇
- 日期:
- 2022-03-31
-
方法概要
修饰符和类型方法说明default void
添加玩家到房间内default int
统计房间内的玩家数量default boolean
existUser
(long userId) 玩家是否存在房间内default void
forEach
(BiConsumer<Long, Player> action) forEach playersget 通讯上下文default long
房间创建者的 userIddefault int
得到一个空位置default <T extends Player>
TgetPlayerById
(long userId) 通过 userId 查找玩家玩家玩家位置get 创建房间信息(及玩法规则)long
get roomIdget 房间状态int
get 房间空间大小default <T extends Player>
voidifPlayerExist
(long userId, Consumer<T> action) 如果玩家在房间内,就执行给定的操作,否则不执行任何操作。default void
ifPlayerNotExist
(long userId, Runnable runnable) 如果玩家不在房间内,就执行给定的操作,否则不执行任何操作。default boolean
isCreatorUserId
(long userId) 当前 userId 是否是房间创建者default boolean
房间内的是否没有玩家default boolean
玩家是否都准备了default boolean
isStatus
(RoomStatusEnum roomStatusEnum) 当前房间是否是所指定的房间状态default <T extends Player>
Collection<T> 玩家列表: 所有玩家default Collection
<Long> userId Collectiondefault RangeBroadcaster
创建一个 RangeBroadcastdefault RangeBroadcaster
ofEmptyRangeBroadcast
(CommunicationAggregationContext aggregationContext) 通过 CommunicationAggregationContext 创建一个 RangeBroadcastdefault RangeBroadcaster
创建一个 RangeBroadcast,默认会添加上当前房间内的所有玩家default RangeBroadcaster
ofRangeBroadcast
(CommunicationAggregationContext aggregationContext) 通过 CommunicationAggregationContext 创建一个 RangeBroadcast,默认会添加上当前房间内的所有玩家default void
removePlayer
(Player player) 移除玩家void
setAggregationContext
(CommunicationAggregationContext aggregationContext) 设置通讯上下文void
setRoomCreateContext
(RoomCreateContext roomCreateContext) 设置创建房间信息(及玩法规则)void
setRoomId
(long roomId) set roomIdvoid
setRoomStatusEnum
(RoomStatusEnum roomStatusEnum) set 房间状态void
setSpaceSize
(int spaceSize) set 房间空间大小steam players
-
方法详细资料
-
getPlayerMap
玩家key : userId value : player
- 返回:
- 玩家
-
getPlayerSeatMap
玩家位置key : seat value : userId
- 返回:
- 玩家位置
-
getRoomId
long getRoomId()get roomId- 返回:
- 房间唯一 id
-
setRoomId
void setRoomId(long roomId) set roomId- 参数:
roomId
- 房间唯一 id
-
getSpaceSize
int getSpaceSize()get 房间空间大小- 返回:
- 房间空间大小。如 4 就是 4 个人上限 (可以根据规则设置)
-
setSpaceSize
void setSpaceSize(int spaceSize) set 房间空间大小- 参数:
spaceSize
- 房间空间大小。如 4 就是 4 个人上限 (可以根据规则设置)
-
getRoomStatusEnum
RoomStatusEnum getRoomStatusEnum()get 房间状态- 返回:
- 房间状态
-
setRoomStatusEnum
set 房间状态- 参数:
roomStatusEnum
- 房间状态
-
getRoomCreateContext
RoomCreateContext getRoomCreateContext()get 创建房间信息(及玩法规则)- 返回:
- 创建房间信息(及玩法规则)
-
setRoomCreateContext
设置创建房间信息(及玩法规则)- 参数:
roomCreateContext
- 创建房间信息(及玩法规则)
-
getCreatorUserId
default long getCreatorUserId()房间创建者的 userId- 返回:
- userId
-
isCreatorUserId
default boolean isCreatorUserId(long userId) 当前 userId 是否是房间创建者- 参数:
userId
- userId- 返回:
- true 是房间创建者
-
listPlayer
玩家列表: 所有玩家- 类型参数:
T
- 玩家- 返回:
- 所有玩家
-
streamPlayer
steam players- 返回:
- player Stream
-
listPlayerId
userId Collection- 返回:
- userId
-
getPlayerById
通过 userId 查找玩家- 类型参数:
T
- Player- 参数:
userId
- userId- 返回:
- 玩家
-
existUser
default boolean existUser(long userId) 玩家是否存在房间内- 参数:
userId
- userId- 返回:
- true 存在
-
addPlayer
添加玩家到房间内- 参数:
player
- 玩家
-
removePlayer
移除玩家- 参数:
player
- 玩家
-
isStatus
当前房间是否是所指定的房间状态- 参数:
roomStatusEnum
- 房间状态- 返回:
- true 是所指定的房间状态
-
ifPlayerExist
如果玩家在房间内,就执行给定的操作,否则不执行任何操作。- 类型参数:
T
- t- 参数:
userId
- userIdaction
- 给定操作
-
ifPlayerNotExist
如果玩家不在房间内,就执行给定的操作,否则不执行任何操作。- 参数:
userId
- userIdrunnable
- 给定操作
-
countPlayer
default int countPlayer()统计房间内的玩家数量- 返回:
- 玩家数量
-
isEmptyPlayer
default boolean isEmptyPlayer()房间内的是否没有玩家- 返回:
- true 房间内没有玩家了
-
getEmptySeatNo
default int getEmptySeatNo()得到一个空位置- 返回:
- >=0 表示有位置
-
isReadyPlayers
default boolean isReadyPlayers()玩家是否都准备了- 返回:
- true 所有玩家都准备了
-
forEach
forEach playersthe first argument is the userId
- 参数:
action
- action
-
setAggregationContext
设置通讯上下文// 方式一:通过 flowContext 得到通讯上下文 CommunicationAggregationContext aggregationContext = flowContext.option(FlowAttr.aggregationContext); // 方式二:通过 BrokerClient 得到通讯上下文 CommunicationAggregationContext aggregationContext = BrokerClientHelper.getBrokerClient().getCommunicationAggregationContext();
- 参数:
aggregationContext
- 通讯上下文
-
getAggregationContext
CommunicationAggregationContext getAggregationContext()get 通讯上下文- 返回:
- 通讯上下文
-
ofRangeBroadcast
通过 CommunicationAggregationContext 创建一个 RangeBroadcast,默认会添加上当前房间内的所有玩家- 参数:
aggregationContext
- aggregationContext- 返回:
- RangeBroadcast 范围内的广播
-
ofEmptyRangeBroadcast
通过 CommunicationAggregationContext 创建一个 RangeBroadcast- 参数:
aggregationContext
- aggregationContext- 返回:
- RangeBroadcast 范围内的广播
-
ofRangeBroadcast
创建一个 RangeBroadcast,默认会添加上当前房间内的所有玩家- 返回:
- RangeBroadcast 范围内的广播
-
ofEmptyRangeBroadcast
创建一个 RangeBroadcast- 返回:
- RangeBroadcast 范围内的广播
-