Beispiel #1
0
        private void btFightVsTemplate_Click(object sender, EventArgs e)
        {
            ChooseFightTemplateScreen chooseFightTemplateScreen = new ChooseFightTemplateScreen(_formationTemplateRepository);

            if (chooseFightTemplateScreen.ShowDialog() == DialogResult.OK)
            {
                var selectedTemplate = chooseFightTemplateScreen.SelectedTemplate;
                _fightManagement.PrepareFightAgainstTemplate(selectedTemplate.ID);
                _fightManagement.StartFight();

                FightScreen fightScreen = new FightScreen(_fightManagement.GetFightReplay());
                fightScreen.ShowDialog();
            }
        }
Beispiel #2
0
        public string StartQuest(string questID)
        {
            var selectedQuest = GetAll().First(x => x.ID == questID);

            _fightManagement.PrepareFightAgainstTemplate(selectedQuest.FormationID);
            _fightManagement.StartFight();
            var questResult = _fightManagement.GetLastFightResult();
            var quest       = _questRepository.GetAll(_accountManagement.GetLoggedAccount().ID).First(x => x.ID == questID);

            if (questResult == FightResult.PlayerWins && !string.IsNullOrEmpty(quest.RewardsID))
            {
                var rewardTemaplate = _rewardTemplatesRepository.GetAll().First(x => x.ID == quest.RewardsID);
                foreach (var reward in rewardTemaplate.Rewards.Split(':'))
                {
                    AddReward(reward);
                }
            }
            _questRepository.Remove(quest, _accountManagement.GetLoggedAccount().ID);
            return(questResult == FightResult.PlayerWins ? "Completed" : "NotCompleted");
        }