五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

unity教程:存檔系統(tǒng)(XML篇)

2023-07-21 12:36 作者:塵風(fēng)一枚  | 我要投稿

using UnityEngine;

using TMPro;

using System.IO;

using System.Xml;


public class xml_ArchiveManager : MonoBehaviour

{

//需要保存與加載的數(shù)據(jù)

public Data data = new Data();

//需要保存與讀取的游戲內(nèi)數(shù)據(jù)

public TMP_InputField text1;

public TMP_InputField text2;

public TMP_InputField text3;

public TMP_InputField text4;

//定義游戲保存數(shù)據(jù)路徑

public static string savaGameDataPath;


private void Awake()

{

//PS:Application.persistentDataPath獲得的是unity游戲數(shù)據(jù)文件夾的路徑

savaGameDataPath = Application.persistentDataPath;

//debug打印保存數(shù)據(jù)的路徑

Debug.Log(savaGameDataPath);

}


/// <summary>

/// 更新數(shù)據(jù) (將游戲內(nèi)數(shù)據(jù)保存以方便保存到本地)

/// </summary>

private void UpdateData()

{

data.data1 = text1.text;

data.data2 = text2.text;

data.data3 = text3.text;

data.data4 = text4.text;

}


/// <summary>

/// 更新游戲 (將數(shù)據(jù)保存到游戲中以方便游戲進行數(shù)據(jù)操作)

/// </summary>

private void UpdateGame()

{

text1.text = data.data1;

text2.text = data.data2;

text3.text = data.data3;

text4.text = data.data4;

}

/// <summary>

/// 保存游戲數(shù)據(jù)至本地

/// </summary>

public void SavaData()

{

//更新數(shù)據(jù) 方便后續(xù)保存數(shù)據(jù)至本地

UpdateData();


//檢測是否存在該文件夾

if (!Directory.Exists(savaGameDataPath + "/game_Data_xml"))

{

//如果沒有該文件夾則在該路徑下創(chuàng)建一個名為game_Data的文件夾

Directory.CreateDirectory(savaGameDataPath + "/game_Data_xml");

}


//實例化XmlDocument文檔以便調(diào)用XmlDocument實例方法

XmlDocument xml = new XmlDocument();

//使用XmlDocument實例方法CreateElement創(chuàng)建一個節(jié)點

XmlElement chen = xml.CreateElement("Chen");

//使用XmlElement實例方法SetAttribute設(shè)置節(jié)點屬性

chen.SetAttribute("Name", "主節(jié)點");


//使用XmlDocument實例方法CreateElement創(chuàng)建一個節(jié)點 (存檔ID節(jié)點)

XmlElement id = xml.CreateElement("ArchiveID");

//使用XmlElement實例方法SetAttribute設(shè)置節(jié)點屬性 (設(shè)置存檔ID)

id.SetAttribute("ID", "1");

//將存檔ID節(jié)點添加至主節(jié)點中 成為其子節(jié)點

chen.AppendChild(id);


#region 保存數(shù)據(jù)部分

//使用XmlDocument實例方法CreateElement創(chuàng)建一個節(jié)點 (數(shù)據(jù)節(jié)點)

XmlElement data1 = xml.CreateElement("data1");

//將數(shù)據(jù)節(jié)點添加至存檔ID節(jié)點中 成為其子節(jié)點

id.AppendChild(data1);

//通過XmlElement的InnerText屬性設(shè)置節(jié)點信息 (數(shù)據(jù)內(nèi)容)

data1.InnerText = text1.text;


//使用XmlDocument實例方法CreateElement創(chuàng)建一個節(jié)點 (數(shù)據(jù)節(jié)點)

XmlElement data2 = xml.CreateElement("data2");

//將數(shù)據(jù)節(jié)點添加至存檔ID節(jié)點中 成為其子節(jié)點

id.AppendChild(data2);

//通過XmlElement的InnerText屬性設(shè)置節(jié)點信息 (數(shù)據(jù)內(nèi)容)

data2.InnerText = text2.text;


//使用XmlDocument實例方法CreateElement創(chuàng)建一個節(jié)點 (數(shù)據(jù)節(jié)點)

XmlElement data3 = xml.CreateElement("data3");

//將數(shù)據(jù)節(jié)點添加至存檔ID節(jié)點中 成為其子節(jié)點

id.AppendChild(data3);

//通過XmlElement的InnerText屬性設(shè)置節(jié)點信息 (數(shù)據(jù)內(nèi)容)

data3.InnerText = text3.text;


//使用XmlDocument實例方法CreateElement創(chuàng)建一個節(jié)點 (數(shù)據(jù)節(jié)點)

XmlElement data4 = xml.CreateElement("data4");

//將數(shù)據(jù)節(jié)點添加至存檔ID節(jié)點中 成為其子節(jié)點

id.AppendChild(data4);

//通過XmlElement的InnerText屬性設(shè)置節(jié)點信息 (數(shù)據(jù)內(nèi)容)

data4.InnerText = text4.text;

#endregion


//將主節(jié)點添加至XmlDocument文檔中

xml.AppendChild(chen);

//將XmlDocument文檔內(nèi)容保存到路徑所在文件中

xml.Save(savaGameDataPath + "/game_Data_xml/" + "data.xml");

}


/// <summary>

/// 讀取本地數(shù)據(jù)至游戲

/// </summary>

public void LoadData()

{

//檢測是否存在該文件

if (File.Exists(savaGameDataPath + "/game_Data_xml/data.xml"))

{

//使用File靜態(tài)方法Open讀取保存在本地的數(shù)據(jù)文件

using (FileStream file = File.Open(savaGameDataPath + "/game_Data_xml/data.xml", FileMode.Open))

{

//實例化XmlDocument文檔以便調(diào)用XmlDocument實例方法

XmlDocument xml = new XmlDocument();

//使用XmlDocument實例方法Load加載xml文件內(nèi)容

xml.Load(file);


XmlNodeList xmlNodeList = xml.GetElementsByTagName("ArchiveID");


//需要讀取的存檔的ID值

string ID = "1";

//讀取所有存檔信息

foreach (XmlNode item in xmlNodeList)

{

//判斷是否是需要的存檔

if(ID == item.Attributes[0].Value)

{

//將對應(yīng)存檔ID節(jié)點下的子節(jié)點信息保存下來

data.data1 = item.ChildNodes[0].InnerText;

data.data2 = item.ChildNodes[1].InnerText;

data.data3 = item.ChildNodes[2].InnerText;

data.data4 = item.ChildNodes[3].InnerText;

}

}

}

//更新游戲 把本地數(shù)據(jù)更新到游戲中

UpdateGame();

}

}


}

unity教程:存檔系統(tǒng)(XML篇)的評論 (共 條)

分享到微博請遵守國家法律
雷山县| 青神县| 小金县| 汨罗市| 屏东县| 正镶白旗| 交口县| 屏东市| 德江县| 沅江市| 厦门市| 吴川市| 五常市| 蒙自县| 蒙阴县| 滦平县| 天峨县| 鄂伦春自治旗| 湖南省| 承德市| 中方县| 深泽县| 马龙县| 东宁县| 玉溪市| 康马县| 富阳市| 贵港市| 长治县| 郸城县| 旬邑县| 阿巴嘎旗| 秦安县| 大方县| 禄劝| 惠安县| 济源市| 广南县| 凤凰县| 运城市| 南汇区|