2022.08.29 能夠跨平台在遊戲中存取資料,存檔資料為 JSON 且可選擇是否加密。
範例下載:github
範例使用:
1.下載後用 Unity 開啟,並開啟預設場景,點選 GameObject 物件,可以修改 TestData Component > File Settings 的內容。
2.執行後點選 GameObject 物件,可以修改 TestData Component > Data Settings 的內容。
3.停止執行,可以看到檔案在 Application.persistentDataPath 中。
4.再度執行,可以發現 TestData Component 內容已經更改。
套件下載:github
套件使用:
1. 開啟 Unity 後 Assets > Import Package > Custom Package 安裝。
2.更改 GameData.cs 的 public class GameData,改成需要的資料結構,注意下方 GameData() 要跟上方式對應修改,注意 Dictionary 要使用 SerializableDictionary。示範:
public class GameData
{
public Vector3 playerPosition;
public GameData()
{
this.playerPosition = Vector3.zero;
}
}
3.使用前要先讀取檔案,建議放在 Start()
private FileDataHandler dataHandler;
private void Start()
{
dataHandler = new FileDataHandler(Application.persistentDataPath, fileName, encryptionCodeWord);
StaticGameData.gameData = dataHandler.Load();
}
4.讀取出資料中的變數,任一個 class 均可讀取。
playerPosition = StaticGameData.gameData.playerPosition;
5.設定資料中的變數,任一個 class 均可設定。
StaticGameData.gameData.playerPosition=playerPosition ;
6.存檔,建議放在 OnApplicationQuit()
dataHandler.Save(StaticGameData.gameData);
沒有留言:
張貼留言