Exemple #1
0
        /// <summary>
        /// Retrieves the quest step for the given quest.
        /// </summary>
        /// <param name="questKey">Unique identifier of the quest.</param>
        /// <returns>An awaitable task that returns a collection of <see cref="QuestStepDto"/>.</returns>
        public async Task <IEnumerable <QuestStepDto> > GetQuestStepsAsync(Guid questKey)
        {
            // Get quest steps
            var questSteps = await questRepository.GetQuestStepsAsync(questKey);

            // Get quest progression
            var hasQuestProgression = await questRepository.HasQuestProgresssionAsync(questKey);

            // Add progression to quest steps
            var retval = questSteps.ToList().ToDtos();

            foreach (var questStep in retval)
            {
                questStep.CanReorder = !hasQuestProgression;
            }
            return(retval);
        }