Esempio n. 1
0
        public static void LoadQuest(string QuestKey, Terraria.ModLoader.IO.TagCompound Reader, int ModVersion, PlayerMod pm)
        {
            int       QuestID    = Reader.GetInt(QuestKey + "_ID");
            string    QuestModID = Reader.GetString(QuestKey + "_ModID");
            QuestData qd         = null;

            foreach (QuestData qd2 in pm.QuestDatas)
            {
                if (qd2.QuestID == QuestID && qd2.QuestModID == QuestModID)
                {
                    qd = qd2;
                    break;
                }
            }
            Terraria.ModLoader.IO.TagCompound QuestData = Reader.Get <Terraria.ModLoader.IO.TagCompound>(QuestKey + "_QuestData");
            if (qd == null)
            {
                qd                   = QuestContainer.GetQuestBase(QuestID, QuestModID).GetQuestData;
                qd.QuestID           = QuestID;
                qd.QuestModID        = QuestModID;
                qd.IsUnexistingQuest = true;
                qd.SavedQuestData    = QuestData;
                pm.QuestDatas.Add(qd);
            }
            else
            {
                qd.CustomLoadQuest(QuestKey, QuestData, ModVersion);
            }
        }
Esempio n. 2
0
 public static void AddQuestContainer(Mod mod, QuestContainer container)
 {
     if (ModQuestContainer.ContainsKey(mod.Name))
     {
         ModQuestContainer[mod.Name] = container;
     }
     else
     {
         ModQuestContainer.Add(mod.Name, container);
     }
     container.CreateQuestDB();
 }