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); } } }
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(); }