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
项目名称
然后就可以打开查看我们保存的游戏数据啦