Beispiel #1
0
        void initiateBombardment(SpaceBattleGame battleGame)
        {
            var controller = new BombardmentController(new BombardBattleGame(battleGame), this.gameObj, this);

            foreach (var player in controller.Participants)
            {
                var playerController = (player.ControlType == PlayerControlType.Neutral) ?
                                       this.organelleController :
                                       this.playerControllers.First(x => this.gameObj.MainPlayers[x.PlayerIndex] == player);
                if (player.OffscreenControl != null)
                {
                    controller.Register(playerController, player.OffscreenControl.StartBombardment(controller));
                }
                else
                {
                    controller.Register(playerController, this.stateListener.OnDoBombardment(controller));
                }
            }

            this.combatPhase = Task.Factory.StartNew(controller.Start).ContinueWith(checkTaskException);
        }
        void initiateBombardment(SpaceBattleGame battleGame)
        {
            var controller = new BombardmentController(battleGame, this.gameObj, this);

            //TODO(v0.6) doesn't take proper players into account
            foreach (var player in battleGame.Combatants.Select(x => x.Owner).Distinct())
            {
                var playerController = (player.ControlType == PlayerControlType.Neutral) ?
                                       this.organelleController :
                                       this.playerControllers.First(x => this.gameObj.MainPlayers[x.PlayerIndex] == player);
                if (player.OffscreenControl != null)
                {
                    controller.Register(playerController, player.OffscreenControl.StartBombardment(controller));
                }
                else
                {
                    controller.Register(playerController, this.stateListener.OnDoBombardment(controller));
                }
            }

            controller.Start();
        }