private RewardTemplate GetRandomRewardTemplateForLevel(int level) { RewardTemplate rewardTemplate = null; var counterRewards = 1; var allRewardTemplates = _rewardTemplatesRepository.GetAll().Where(x => x.Level == level.ToString()); var amountOfRewardTemplates = allRewardTemplates.Count(); var rewardsDictionary = allRewardTemplates.ToDictionary(x => counterRewards++, x => x); if (amountOfRewardTemplates > 0) { var choosenReward = _randomizer.GetRandomValueInRange(1, amountOfRewardTemplates + 1, "ChoosingRewards"); rewardTemplate = rewardsDictionary[choosenReward]; } return(rewardTemplate); }
private Quest GenerateFightQuest(int level, int counter) { FormationTemplate choosenFormationTemplate = GetRandomFormationTemplateForLevel(level); RewardTemplate rewardTemplate = GetRandomRewardTemplateForLevel(level); if (choosenFormationTemplate != null) { return(new Quest { ID = $"Q_{counter}", Level = level.ToString(), FormationID = choosenFormationTemplate.ID, Name = $"Defeat - {choosenFormationTemplate.Name}", RewardsID = rewardTemplate == null ? "" : rewardTemplate.ID, WinRewards = rewardTemplate == null ? "" : rewardTemplate.Rewards }); } return(null); }