Exemplo n.º 1
0
        /// <summary>
        /// Create a new <see cref="QuestInfo"/> using supplied <see cref="Quest2Entry"/>.
        /// </summary>
        public QuestInfo(Quest2Entry entry)
        {
            Entry           = entry;
            DifficultyEntry = GameTableManager.Instance.Quest2Difficulty.GetEntry(Entry.Quest2DifficultyId);

            InitialisePrerequisiteQuests();
            InitialiseObjectives();
            InitialiseRewards();
        }
Exemplo n.º 2
0
        /// <summary>
        /// Create a new <see cref="QuestInfo"/> using supplied <see cref="Quest2Entry"/>.
        /// </summary>
        public QuestInfo(Quest2Entry entry)
        {
            Entry           = entry;
            DifficultyEntry = GameTableManager.Quest2Difficulty.GetEntry(Entry.Quest2DifficultyId);

            ImmutableList <QuestObjectiveEntry> .Builder objectiveBuilder = ImmutableList.CreateBuilder <QuestObjectiveEntry>();
            foreach (uint objectiveId in entry.Objectives.Where(o => o != 0u))
            {
                objectiveBuilder.Add(GameTableManager.QuestObjective.GetEntry(objectiveId));
            }

            Objectives = objectiveBuilder.ToImmutable();

            ImmutableDictionary <uint, Quest2RewardEntry> .Builder rewardBuilder = ImmutableDictionary.CreateBuilder <uint, Quest2RewardEntry>();
            foreach (Quest2RewardEntry rewardEntry in GameTableManager.Quest2Reward.Entries
                     .Where(e => e.Quest2Id == entry.Id))
            {
                rewardBuilder.Add(rewardEntry.Id, rewardEntry);
            }

            Rewards = rewardBuilder.ToImmutable();
        }