Пример #1
0
        public void HostGameClick()
        {
            if (string.IsNullOrWhiteSpace(_view.GetPlayerName()))
            {
                _view.ShowNameRequired();
                return;
            }

            NetworkLobby.FormNetworkLobby networkLobbyView = null;
            try
            {
                var networkLobby = new Game.Lobby.NetworkLobby();

                networkLobbyView = new NetworkLobby.FormNetworkLobby();
                var networkLobbyGui = networkLobbyView.GetNetworkLobbyGui();
                networkLobbyGui.SetNetworkLobby(networkLobby);

                networkLobby.StartLobby(_view.GetPlayerName(), _view.GetHostPort());
            }
            catch (Exception exception)
            {
                _view.ShowException(exception);
            }

            if (networkLobbyView != null)
            {
                networkLobbyView.ShowDialog();
                var networkLobbyGui = networkLobbyView.GetNetworkLobbyGui();
                if (networkLobbyGui.OpenGameWindow && networkLobbyGui.LocalGame != null)
                {
                    OpenLocalGame(networkLobbyGui.LocalGame);
                }
            }
        }
Пример #2
0
        public void SetNetworkLobby(Game.Lobby.NetworkLobby networkLobby)
        {
            _networkLobby = networkLobby;
            _networkLobby.SetMyPlayerId       += OnSetMyPlayerId;
            _networkLobby.LobbyPlayersUpdated += OnLobbyPlayersUpdated;
            _networkLobby.ChatServerMessage   += OnChatServerMessage;
            _networkLobby.ChatPlayerMessage   += OnChatPlayerMessage;
            _networkLobby.GameStarting        += OnHostGameStarting;

            _view.EnableHostFunctions();
        }