セールの時に購入して放置していたEasySaveをようやく使う機会が出て来たので、試してみました。

使おうと思った対象アプリは「とけいであそぶ」で、問題を回答した成績を格納しようと思いました。
成績は多次元配列で格納してます。
//時計の問題:成績
public int[,,] ScoreRecord = {
{{0,0},{0,0},{0,0}},
{{0,0},{0,0},{0,0}},
{{0,0},{0,0},{0,0}}
};//種類*レベル*[スコア,合計]
既に、publicにしてあるので、アプリ内ではクラスおよびシーン間で共有されてます。
UnityのPlayerPrefsでも配列をバラバラにして格納すれば出来るのですが、超面倒臭い。
丸っと多次元配列で格納したかったのでEasySaveを導入することにしました。
プロジェクトにassetをimportしたら、あとは数行書くだけで済みました。
if (ES3.KeyExists("ScoreRecord"))
{
ScoreRecord = ES3.Load<int[,,]>("ScoreRecord");
}
セーブしたデータを呼び出すときは、キーで格納済みかを確認。
キーがあるなら、セーブデータからLoadします。
多次元配列と言ってもES3.Load
//EasySaveに保存
ES3.Save<int[,,]>("ScoreRecord", Manager_Game.Instance.ScoreRecord);
逆に、データをセーブする時は、問題を回答したタイミングでint[,,]を丸っとSaveするだけです。
PlayerPrefsと同じ感覚で使えますね。
本当に簡単です。PlayerPrefsを使ったことがあれば、サクっと差し替えられます。
Unity2018.2
macOS High Sierra
EasySave3