public void NewGame(GameSpec spec) { if (Players.Count < 2) { return; } if (CurrentGame != null) { CurrentGame.OnGameEnded -= HandleGameEnding; } var player1 = DrawPlayer(null); var player2 = DrawPlayer(player1); if (player1 == null || player2 == null) { return; } CurrentGame = new Game(spec, player1, player2, GameConfig); CurrentGame.Spec.Players = new Player[] { player1, player2 }; CurrentGame.OnGameEnded += HandleGameEnding; OnGameCreated?.Invoke(this, new GameEventArgs("game-created")); }
public void CreateNewGame() { _model = new GameModel(); SetName(); _iteration++; OnGameCreated?.Invoke(this, new GameCreated()); OnGameChanged?.Invoke(this, new GameChanged()); }
private async void Create(object sender, EventArgs e) { if (OnGameCreated == null) { return; } IList <AiPlayer> aiPlayers = aiPlayerSettingsControl.GetPlayers(); await OnGameCreated.Invoke(myPlayerControl.GetPlayer(), aiPlayers, mapSettingsControl.MapName, aiPlayerSettingsControl.PlayersLimit - 1 - aiPlayers.Count); }