public void Init() { if (Inited) { return; } #if UNITY_EDITOR //共通のもの saveDataRecorder = new CommonSaveDataRecorder <T>(); #else //共通のもの saveDataRecorder = new CommonSaveDataRecorder <T>(); #endif //ロード完了イベント saveDataRecorder.OnLoadCompleted().Subscribe(SaveData => { if (SaveData != null) { usingData = new T(); cacheUsingData = new T(); cacheUsingData.DeepCopy(usingData); } else { Debug.Log("ロードするデータが存在していない"); } //終了イベント OnLoadCompletedEvent(SaveData != null); Debug.Log("ロード完了"); }).AddTo(gameObject); //セーブ完了イベント saveDataRecorder.OnSaveCompleted().Subscribe(errMsg => { //セーブ終了イベント OnSaveCompletedEvent(errMsg); Debug.Log("セーブ完了"); }).AddTo(gameObject); //削除完了イベント saveDataRecorder.OnDeleteCompleted().Subscribe(errMsg => { //削除完了イベント OnDeleteCompletedEvent(errMsg); }).AddTo(gameObject); //とりあえずデフォルトデータをセットする defaultData = new T(); usingData = new T(); usingData.DeepCopy(defaultData); cacheUsingData = new T(); cacheUsingData.DeepCopy(defaultData); //セーブデータ初期化 saveDataRecorder.Init(MaxIndex, DataType, ProductName, UseBackUp); Inited = true; }
private void OnDestroy() { saveDataRecorder = null; }