public void OnClickRoomList()
    {
        _btnJoinRoom.SetActive(false);
        AskRoomList output = new AskRoomList();

        ClientManager.Instance.LobbyManager.SendMsg(LOBBY.AskRoomList, output.ToByteArray());
        ClientManager.Instance.LobbyManager.Log("PanelLobbyMain OnClickRoomList.");
    }
Пример #2
0
    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());
    }
Пример #3
0
    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());
        }
    }