Пример #1
0
        private void HandleLobbyUpdate(CSODOTALobby lobby)
        {
            if (Lobby == null && lobby != null)
            {
                log.DebugFormat("Entered lobby {0} with state {1}.", lobby.lobby_id, lobby.state.ToString("G"));
            }
            else if (Lobby != null && lobby == null)
            {
                log.DebugFormat("Exited lobby {0}.", Lobby.lobby_id);
            }

            if (lobby != null)
            {
                _state.Fire(lobby.state == CSODOTALobby.State.UI || string.IsNullOrEmpty(lobby.connect)
                    ? Trigger.DotaEnteredLobbyUI
                    : Trigger.DotaEnteredLobbyPlay);
            }
            else
            {
                _state.Fire(Trigger.DotaNoLobby);
            }

            LobbyUpdate?.Invoke(Lobby, lobby);
            Lobby = lobby;
        }
Пример #2
0
 public LobbyUpdate GetUpdates()
 {
     LobbyUpdate sr = new LobbyUpdate();
     sr.messages = new List<string>(incomingChat);
     incomingChat.Clear();
     sr.players = new List<LobbyPlayer>(players);
     return sr;
 }
Пример #3
0
    protected void HandleLobbyUpdate(MessageWrapper message)
    {
        LobbyUpdate lu = JsonUtility.FromJson <LobbyUpdate>(message.message);

        CurrentGame.Instance.gameDetail.teams = lu.teams;
        CurrentGame.Instance.isHost           = lu.isHost;
        NetworkManager.Singleton.RoomManager.OnLobbyLoad();
    }