Example #1
0
        /// <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.");
                }
            }
        }