コード例 #1
0
ファイル: QuestMgr.cs プロジェクト: uvbs/Asda2-Server
        /// <summary>Loads the quest templates.</summary>
        /// <returns></returns>
        public static bool LoadAll()
        {
            if (!QuestMgr.Loaded)
            {
                QuestMgr.Templates = new QuestTemplate[30000];
                ContentMgr.Load <QuestTemplate>();
                ContentMgr.Load <QuestPOI>();
                ContentMgr.Load <QuestPOIPoints>();
                QuestMgr.CreateQuestRelationGraph();
                QuestMgr.EnsureCharacterQuestsLoaded();
                QuestMgr.AddSpellCastObjectives();
                if (ItemMgr.Loaded)
                {
                    ItemMgr.EnsureItemQuestRelations();
                }
                foreach (QuestTemplate template1 in QuestMgr.Templates)
                {
                    if (template1 != null)
                    {
                        ItemTemplate template2 = ItemMgr.GetTemplate(template1.SrcItemId);
                        if (template2 != null && template1.SrcItemId != (Asda2ItemId)0 &&
                            !template1.Starters.Contains((IQuestHolderEntry)template2))
                        {
                            template1.ProvidedItems.Add(new Asda2ItemStackDescription(template1.SrcItemId, 1));
                        }
                    }
                }

                QuestMgr.Loaded = true;
                QuestMgr.log.Debug("{0} Quests loaded.", QuestMgr._questCount);
            }

            return(true);
        }