コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }