Пример #1
0
        private void StartButton_Click(object sender, RoutedEventArgs e)
        {
            MissionType type     = new MissionType();
            Mission     mission  = new Mission();
            Resource    res      = new Resource();
            float       progress = 0;

            missionRepo.GetAllMissions().ForEach(m =>
            {
                if (missionsListBox.SelectedItem != null)
                {
                    if (m.MissionName == missionsListBox.SelectedItem.ToString())
                    {
                        type    = m.MissionType;
                        mission = m;
                    }
                }
            });

            pausedRepo.GetAllMissions().ForEach(pM =>
            {
                if (mission.Id == pM.MissionId)
                {
                    progress = pM.Progress;
                    pausedRepo.DeleteMission(pM.Id);
                }
            });

            if (resourcesListBox.SelectedItem != null)
            {
                string str = resourcesListBox.SelectedValue.ToString();
                resourceRepo.GetAllResources().ForEach(r =>
                {
                    if (r.ResourceName == str)
                    {
                        res = r;
                    }
                });
            }
            ViewModel?.StopMission();
            ViewModel = new DefaultViewModel();

            /*------Добавление нового типа------*/
            if (type.GetType() == typeof(ExcavationType))
            {
                DataContext = ViewModel = new ExcavationVIewModel(progress, mission, res);
            }
            else if (type.GetType() == typeof(SurvivalType))
            {
                DataContext = ViewModel = new SurvivalViewModel(progress, mission, res);
            }
            else
            {
                DataContext = ViewModel = new DefaultViewModel();
            }
            /*----------------------------------*/
            ViewModel.onMissionStop += onMissionStopHandler;
            ViewModel.StartMission();
        }