|
@@ -249,6 +249,18 @@ func (room_info *RoomInfoWrapper) notify_to_all_player(message interface{}) {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+// 房间里通知所有玩家包括被踢出的玩家
|
|
|
+func (room_info *RoomInfoWrapper) notify_all_player(message interface{}) {
|
|
|
+ for i := range room_info.Colors {
|
|
|
+ color_data := room_info.Colors[i]
|
|
|
+ user_id := color_data.MId
|
|
|
+ user_agent := getAgentByUserId(user_id)
|
|
|
+ if user_agent != nil {
|
|
|
+ user_agent.WriteMsg(message)
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
// 给前端展示一段时间后,再操作
|
|
|
func (room_info *RoomInfoWrapper) delayActionNextRound(td int32, color msg.RoleType, szNumber int32, isAddRound bool, isFinish bool) {
|
|
|
dtn := time.Duration(td) * time.Microsecond
|
|
@@ -288,8 +300,7 @@ func (room_info *RoomInfoWrapper) kick_color_of_room(color msg.RoleType) {
|
|
|
Status: msg.PlayerStatus_COLOR_KICK,
|
|
|
Colors: room_info.getKickColors(),
|
|
|
}
|
|
|
-
|
|
|
- room_info.notify_to_all_player(message)
|
|
|
+ room_info.notify_all_player(message)
|
|
|
}
|
|
|
|
|
|
// 解散房间
|
|
@@ -299,5 +310,14 @@ func (room_info *RoomInfoWrapper) dismiss_room() {
|
|
|
|
|
|
//移除房间
|
|
|
room_info.RoomStatus = msg.RoomStatus_END
|
|
|
+ for i := 0; i < len(room_info.Colors); i++ {
|
|
|
+ color_data := room_info.Colors[i]
|
|
|
+ user_agent := getAgentByUserId(color_data.MId)
|
|
|
+ if user_agent != nil {
|
|
|
+ ud := user_agent.UserData().(*msg.UserInfo)
|
|
|
+ ud.RoomId = 0
|
|
|
+ user_agent.SetUserData(ud)
|
|
|
+ }
|
|
|
+ }
|
|
|
ClearRoomInfoWrapperDisbandRoom()
|
|
|
}
|