Пример #1
0
        /// <summary>
        /// Function that is called inside the Prime function to load all QuestData.
        /// </summary>
        /// <param name="overrideExistingQuestDataList">Whether or not the AvailableQuest list should be overrided</param>
        /// <returns>Returns a list of QuestData from all quests in all files.</returns>
        public static QuestData[] GetAllAvailableQuestData(bool overrideExistingQuestDataList = false)
        {
            if (AvailableQuests != null && !overrideExistingQuestDataList)
                return AvailableQuests.ToArray();

            AvailableQuests = new List<QuestData>();

            string[] fileNames = QuestIO.GetAllQuestFiles();
            for (int i = 0; i < fileNames.Length; ++i)
            {
                XmlDocument xmlDoc = QuestIO.LoadQuestFileData(QuestIO.FullQuestPath(fileNames[i]));

                XmlNodeList questList = xmlDoc.GetElementsByTagName("Quest");
                foreach (XmlNode node in questList)
                {
                    QuestData questData = new QuestData(node.Attributes["name"].Value, Int32.Parse(node.Attributes["id"].Value), fileNames[i]);
                    AvailableQuests.Add(questData);
                }
            }

            return AvailableQuests.ToArray();
        }
Пример #2
0
 public Quest(QuestData data, int progression = 0)
 {
     this.data = data;
     this.progression = progression;
 }