示例#1
0
    public void LoadQuestData()
    {
        TextAsset textAsset  = Resources.Load("Data/Quests/QuestData") as TextAsset;
        var       serializer = new System.Xml.Serialization.XmlSerializer(typeof(QuestDataCollection));

        using (var reader = new System.IO.StringReader(textAsset.text)) {
            this.questDataCollection = (QuestDataCollection)serializer.Deserialize(reader);
        }

        //set value progress and step
        for (int i = 0; i < questDataCollection.ListQuestData.Count; i++)
        {
            string questID      = questDataCollection.ListQuestData [i].QuestID;
            int    requireValue = questDataCollection.ListQuestData [i].RequireValue.Value;
            int    currentValue = GetCurrentProgressValue(questID);
            int    currentStep  = GetCurrentStep(questID);
            float  increasePercentRequireValue = questDataCollection.ListQuestData [i].RequireValue.PercentIncreasePerStep;
            questDataCollection.ListQuestData [i].RequireValue.Value = (int)Master.IncreaseValues(requireValue, currentStep, increasePercentRequireValue);

            int   star = questDataCollection.ListQuestData [i].Reward.Star;
            int   gem  = questDataCollection.ListQuestData [i].Reward.Gem;
            float increasePercentReward = questDataCollection.ListQuestData [i].Reward.PercentIncreasePerStep;
            questDataCollection.ListQuestData [i].Reward.Star          = (int)Master.IncreaseValues(star, currentStep, increasePercentReward);
            questDataCollection.ListQuestData [i].Reward.Gem           = (int)Master.IncreaseValues(gem, currentStep, increasePercentReward);
            questDataCollection.ListQuestData [i].CurrentStep          = currentStep;
            questDataCollection.ListQuestData [i].CurrentProgressValue = currentValue;
        }
    }
示例#2
0
    public void Save(QuestDataCollection questDataCollection)
    {
        string path = Application.dataPath + "/Resources/Data/Quests/QuestData.xml";

        var serializer = new XmlSerializer(typeof(QuestDataCollection));

        using (var stream = new FileStream(path, FileMode.Create)) {
            serializer.Serialize(stream, questDataCollection);
            Debug.Log("Saved XML to " + path);
        }
    }