/// <summary> /// Updates the mission status /// </summary> public void UpdateMissionStatus() { foreach (Mission mission in _missions.Where(m => m.Status == Mission.MissionStatus.incomplete)) { if (mission is AncientRelicMission) { if (((AncientRelicMission)mission).HasArmorSet == true) { mission.Status = Mission.MissionStatus.complete; } } else if (mission is HellfireGemMission) { if (((HellfireGemMission)mission).HasAllGems == true) { mission.Status = Mission.MissionStatus.complete; } } else if (mission is LocateMission) { if (((LocateMission)mission).AllSpiesDefeated == true) { mission.Status = Mission.MissionStatus.complete; } } else if (mission is SeigeMission) { if (((SeigeMission)mission).AllEnemiesDefeated == true) { mission.Status = Mission.MissionStatus.complete; if (mission.Status == Mission.MissionStatus.complete) { EndGameWindow endGameWindow = new EndGameWindow(); endGameWindow.ShowDialog(); } } } else if (mission is CrownMission) { if (((CrownMission)mission).ThiefIsCaptured == true) { mission.Status = Mission.MissionStatus.complete; } } else { throw new Exception("Unknown mission child class."); } } }