【Unity】EasySaveについて
検証結果
サポート外の型のEasySave対応方法
- Window → Easy Save 3 → Types で型を検索して登録
- 保存するフィールドとプロパティも選択可
参照と直接保存どちらでも設定可
- Settings → Advanced Settings → Serialise Unity Object fields の設定を変更
参照保存時の挙動
- この場合は new を使わず参照渡しで繋げたデータ、という意味
List<ScriptableObject>を直接保存
- 参照登録済の ScriptableObject のフィールドが保存される
- 「リストに何が参照されているか」は保存されない
List<ScriptableObject>がフィールドとして登録してあるクラスを保存
- 「リストに何が参照されているか」が保存される
- 参照登録済みの ScriptableObject のパラメータは保存されない
セーブ・ロード方法
セーブ
- ES3.Save("キー", 保存したいデータ, "ファイル名")
ロード
- ES3.Load("キー", "ファイル名")
保存しやすい構造(案)
- シングルトンでデータベースを作って親DBに List<ScriptableObject> を並べる
- 実際は List<Skill> とか List<Item> とかそんな感じ
- ↑の場合は Skill と Item が ScriptableObject を継承したクラス(アセット)
- 親DBクラスをセーブ
- リストに何が登録されているか(参照)を保存
- リストをひとつずつセーブ
- リストデータのフィールドを保存
- もし非サポートの型を使ってるなら型(クラス)を Type で検索して登録