九州アプリチャレンジキャラバンにおいて同じ研究室の同級生自分含めて5人でアプリ開発を行う事となった、ので、分担作業の一つのセーブデータについて調べながら記述していく。
UnityではPlayer Prefsクラスを使用するとint型,float型,string型のデータを保存出来る。がこのままでは改変し放題でいろいろと不便なのでLitSONを利用してセーブする方法を記述する。
SavableSingleton.csは参考サイトから
Scriptフォルダの中身の例
・LitSONフォルダ(いじらない
・SavableSingleton.cs(Save基底クラス。いじらない
・SaveData.cs(データクラス
・Pet.cs(その他色々するクラス
1. SaveData(セーブデータクラス)
データを保管してるクラス
***---***---***---***---***---***---
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class SaveDataX : SavableSingleton<SaveDataX>
{
public string petName = "";
public int x = 0;
}
***---***---***---***---***---***---
public class セーブデータクラスの名前 : SavableSingleton(セーブ基底クラスの名前)<セーブデータクラスの名前>
{
publicつけて宣言する
}
2. セーブ実行
TestSaveData.Instance.petName = "さかぐち";
TestSaveData.Instance.x = 10;
→セーブデータをセーブデータクラスに格納
TestSaveData.Instance.Save();
→セーブ実行(ここではじめてセーブされる)
Debug.Log(TestSaveData.Instance.petName);
→さかぐちと出力される
セーブしたデータはTestSaveData.Instanceを初めて呼び出した際に勝手にロードされる
→スタート時にDebug.Logなどをvoid Start ()で適当に呼び出せば勝手にロードされる