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