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); } }
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(); }