Exemple #1
0
        public ENDGAMERESULT CheckForEndGame(ContentManager content)
        {
            ENDGAMERESULT result = ENDGAMERESULT.NONE;

            if (enemyTower.Health <= 0)
            {
                result = ENDGAMERESULT.WIN;

                playerQueue    = new List <Queueable>();
                enemyQueue     = new List <Queueable>();
                soldierManager = new SoldierManager();

                if (chargeInstance != null)
                {
                    chargeInstance.Stop();
                }
                queue.Clear();
                if (hasWizardTower)
                {
                    wizardTower.Stop();
                }

                corpses = new List <Corpse>();
                if (hasWizardTower)
                {
                    wizardTower = new WizardTower(content, new Vector2(playerTower.Position.X, playerTower.Position.Y));
                }

                if (hasArcher && aimableArcher.IsActive)
                {
                    aimableArcher.Activate();
                }
            }
            else if (playerTower.Health <= 0)
            {
                result = ENDGAMERESULT.LOSS;

                soldierManager = new SoldierManager();

                playerQueue = new List <Queueable>();
                enemyQueue  = new List <Queueable>();
                corpses     = new List <Corpse>();
                if (hasWizardTower)
                {
                    wizardTower = new WizardTower(content, new Vector2(playerTower.Position.X, playerTower.Position.Y));
                }
                playerTower.Health = 1;
                if (hasArcher && aimableArcher.IsActive)
                {
                    aimableArcher.Activate();
                }

                if (chargeInstance != null)
                {
                    chargeInstance.Stop();
                }
                queue.Clear();
                if (hasWizardTower)
                {
                    wizardTower.Stop();
                }
            }

            return(result);
        }