1 回答

TA貢獻1808條經驗 獲得超4個贊
使用 XMLSerializer,我可以隨時從“.xml”文件中保存和獲取數據。
using System.Collections.Generic;
using System.IO;
using System.Xml.Serialization;
using UnityEngine;
[DisallowMultipleComponent]
internal sealed class XMLManager : MonoBehaviour
{
? ? public ItemDatabase ItemDatabase = new ItemDatabase();
? ? public void SaveItem()
? ? {
? ? ? ? var xmlSerializer = new XmlSerializer(typeof(ItemDatabase));
? ? ? ? var fileStream = new FileStream(Application.dataPath + "/StreamingFiles/XML/Items.xml", FileMode.Create);
? ? ? ? xmlSerializer.Serialize(fileStream, ItemDatabase);
? ? ? ? fileStream.Close();
? ? }
? ? public void LoadItem()
? ? {
? ? ? ? var xmlSerializer = new XmlSerializer(typeof(ItemDatabase));
? ? ? ? var fileStream = new FileStream(Application.dataPath + "/StreamingFiles/XML/Items.xml", FileMode.Open);
? ? ? ? ItemDatabase = xmlSerializer.Deserialize(fileStream) as ItemDatabase;
? ? ? ? fileStream.Close();
? ? }
}
[System.Serializable]
public sealed class Item
{
? ? public string Name;
? ? public string Description;
? ? public int Damage;
? ? public Source Element;
? ? public enum Source { Fire, Water, Air };
}
[System.Serializable]
public sealed class ItemDatabase
{
? ? public List<Item> items = new List<Item>();
}
這是適合我的代碼。
希望這能幫助那里的人。
- 1 回答
- 0 關注
- 176 瀏覽
添加回答
舉報