public void RestoreSaveData(QuestMachineData_v1 data)
        {
            // Restore SiteLinks
            siteLinks = new List<SiteLink>(data.siteLinks);

            // Restore Quests
            foreach(Quest.QuestSaveData_v1 questData in data.quests)
            {
                Quest quest = new Quest();
                quest.RestoreSaveData(questData);
                quests.Add(quest.UID, quest);
            }
        }
        public QuestMachineData_v1 GetSaveData()
        {
            QuestMachineData_v1 data = new QuestMachineData_v1();

            // Save SiteLinks
            data.siteLinks = siteLinks.ToArray();

            // Save Questss
            List<Quest.QuestSaveData_v1> questSaveDataList = new List<Quest.QuestSaveData_v1>();
            foreach(Quest quest in quests.Values)
            {
                questSaveDataList.Add(quest.GetSaveData());
            }
            data.quests = questSaveDataList.ToArray();

            return data;
        }