public void OnClickRoomList() { _btnJoinRoom.SetActive(false); AskRoomList output = new AskRoomList(); ClientManager.Instance.LobbyManager.SendMsg(LOBBY.AskRoomList, output.ToByteArray()); ClientManager.Instance.LobbyManager.Log("PanelLobbyMain OnClickRoomList."); }
static void DESTROY_ROOM_REPLY(byte[] bytes) { DestroyRoomReply input = DestroyRoomReply.Parser.ParseFrom(bytes); if (!input.Ret) { ClientManager.Instance.LobbyManager.Log("MSG: DESTROY_ROOM_REPLY Error - 删除房间失败!"); return; } string msg = $"删除房间成功!{input.RoomName}"; UIManager.Instance.SystemTips(msg, PanelSystemTips.MessageType.Success); ClientManager.Instance.LobbyManager.Log("MSG: DESTROY_ROOM_REPLY OK - " + msg); AskRoomList output = new AskRoomList(); ClientManager.Instance.LobbyManager.SendMsg(LOBBY.AskRoomList, output.ToByteArray()); }
static void ASK_ROOM_LIST(byte[] bytes) { AskRoomList input = AskRoomList.Parser.ParseFrom(bytes); ServerLobbyManager.Instance.Log($"LobbyMsgReply ASK_ROOM_LIST - Received!"); // 从redis里读取房间信息 { AskRoomListReply output = new AskRoomListReply(); output.Ret = true; string[] tableNames = ServerLobbyManager.Instance.Redis.CSRedis.Keys("MAP:*"); ServerLobbyManager.Instance.Log($"ASK_ROOM_LIST : RoomCount:{tableNames.Length}"); foreach (string tableName in tableNames) { long createrId = ServerLobbyManager.Instance.Redis.CSRedis.HGet <long>(tableName, "Creator"); RoomInfo roomInfo = new RoomInfo() { RoomId = ServerLobbyManager.Instance.Redis.CSRedis.HGet <long>(tableName, "RoomId"), MaxPlayerCount = ServerLobbyManager.Instance.Redis.CSRedis.HGet <int>(tableName, "MaxPlayerCount"), RoomName = ServerLobbyManager.Instance.Redis.CSRedis.HGet <string>(tableName, "RoomName"), Creator = createrId, IsRunning = false, }; roomInfo.IsRunning = ServerLobbyManager.Instance.Rooms.ContainsKey(roomInfo.RoomId); if (roomInfo.IsRunning) { roomInfo.CurPlayerCount = ServerLobbyManager.Instance.Rooms[roomInfo.RoomId].CurPlayerCount; } output.Rooms.Add(roomInfo); ServerLobbyManager.Instance.Log($"RoomInfo : {roomInfo}"); } ServerLobbyManager.Instance.SendMsg(_args, LOBBY_REPLY.AskRoomListReply, output.ToByteArray()); } }