1 用Json+PlayerPrefs儲存資料
最近在學習用Json+PlayerPrefs儲存遊戲資料。
參考代碼如下:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class SaveManager : Singleton<SaveManager>
{
protected override void Awake()
{
base.Awake();
DontDestroyOnLoad(this);
}
private void Update()
{
if (Input.GetKeyDown(KeyCode.S))
{
SavePlayerData();
Debug.Log("GameData Saved!");
}
if (Input.GetKeyDown(KeyCode.L))
{
LoadPlayerData();
Debug.Log("GameData Loaded!");
}
}
public void SavePlayerData()
{
Save(GameManager.Instance.playerStates.characterData, GameManager.Instance.playerStates.characterData.name);
}
public void LoadPlayerData()
{
Load(GameManager.Instance.playerStates.characterData, GameManager.Instance.playerStates.characterData.name);
}
public void Save(Object data, string key)
{
var jsonData = JsonUtility.ToJson(data, true);
PlayerPrefs.SetString(key, jsonData);//set表示存儲到磁盤中
PlayerPrefs.Save();
}
public void Load(Object data, string key)
{
if (PlayerPrefs.HasKey(key))
{
JsonUtility.FromJsonOverwrite(PlayerPrefs.GetString(key), data);
}
}
}
2 檢視儲存的資料
官方手冊:https://docs.unity3d.com/ScriptReference/PlayerPrefs.html
官方手冊裡面有講述儲存的位置,我用的是Windows系統,儲存的位置在:
HKCU\Software\ExampleCompanyName\ExampleProductName
作為一個新手,找“HKCU”費了一會兒勁,分享給大家:
第一步:microsoft+R打開指令行運作視窗,輸入regedit,即可打開系統資料庫
第二部:依次打開系統資料庫中的:
HKEY_CURRENT_USER
SoftWare
Unity
UnityEditor