国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

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

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

2023-06-07 18:58 作者:塵風(fēng)一枚  | 我要投稿

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

using TMPro;

using System.IO;

using System.Runtime.Serialization.Formatters.Binary;


public class 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;

//定義保存數(shù)據(jù)到本地的文件所在的文件夾名字

//public static string savaGameDataFileName = "game_Data"; (寫注釋過于麻煩就不搞這個了)(忽略即可)

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ù)保存到游戲中以方便游戲進(jìn)行數(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"))

{

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

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

}

//使用file靜態(tài)方法Create在game_Data文件夾下創(chuàng)建一個名為data的txt文件 并且將返回對象存入變量以便后續(xù)操作

using (FileStream file = File.Create(savaGameDataPath + "/game_Data/data.txt"))

{

//二進(jìn)制轉(zhuǎn)化 該對象主要用于二進(jìn)制轉(zhuǎn)化操作(用于加密)

BinaryFormatter formatter = new BinaryFormatter();

//使用JsonUtility靜態(tài)方法ToJson將類(Data)數(shù)據(jù)轉(zhuǎn)換為Json格式并返回為一個字符串

string json = JsonUtility.ToJson(data);

//使用formatter實例方法Serialize(序列化)將json字符串導(dǎo)入file文件中

formatter.Serialize(file, json);

}

}


public void LoadData()

{

//檢測是否存在該文件

if (File.Exists(savaGameDataPath + "/game_Data/data.txt"))

{

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

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

{

//二進(jìn)制轉(zhuǎn)化 該對象主要用于二進(jìn)制轉(zhuǎn)化操作(用于解密)

BinaryFormatter formatter = new BinaryFormatter();

//使用formatter實例方法Deserialize(反序列化)將文件的二進(jìn)制數(shù)據(jù)轉(zhuǎn)換成Json文本并把Json文本返回成一個字符串

string json = (string)formatter.Deserialize(file);

//使用JsonUtility靜態(tài)方法FromJsonOverwrite將Json文本的數(shù)據(jù)寫入data中

JsonUtility.FromJsonOverwrite(json, data);

}

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

UpdateGame();

}

}


}


/// <summary>

/// 需要保存至本地的數(shù)據(jù)

/// </summary>

public class Data

{

public string data1;

public string data2;

public string data3;

public string data4;

}

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

分享到微博請遵守國家法律
石首市| 榆林市| 巫溪县| 吴江市| 万源市| 泸西县| 金川县| 花垣县| 东平县| 延川县| 博兴县| 青海省| 兴宁市| 海阳市| 金昌市| 凤冈县| 临漳县| 双辽市| 太白县| 五峰| 通榆县| 岳普湖县| 龙海市| 茌平县| 陇川县| 宽城| 通化县| 平乐县| 津南区| 都安| 汉源县| 东乡族自治县| 巴东县| 蓬安县| 囊谦县| 洞头县| 金山区| 香格里拉县| 佛学| 银川市| 安塞县|