Exemple #1
0
        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"));
        }
Exemple #2
0
 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);
        }