Unity - Quick Save:配列や List をセーブ・ロードする -
初めに
Quick Save で配列や List がセーブ・ロードできることがわかったので、方法をまとめておきます。
Quick Save について
Quick Save はデータのセーブ・ロード・暗号化などができる無料アセットです。以前、記事に使い方をまとめておりますので、そちらをご覧ください。
fineworks-fine.hatenablog.com
配列や List のセーブ・ロード
一次元配列、List、多次元配列は通常の変数と同様の方法でセーブ・ロードできます。
(スクリプト)
using System.Collections; using System.Collections.Generic; using UnityEngine; using CI.QuickSave; public class SaveTestListScript : MonoBehaviour { // Start is called before the first frame update void Start() { //配列 int[] numbers = new int[3]{2, 4, 6}; string[] names = {"fine", "soso", "sleepy"}; //List List<int> list = new List<int>(); list.Add(10); list.Add(20); //多次元配列 int[,] dimension = new int[2, 3]{ {0, 3, 6}, {1, 4, 7}, }; // QuickSaveWriterのインスタンスを作成 QuickSaveWriter writer = QuickSaveWriter.Create("Test"); // データを書き込む writer.Write("Num", numbers); writer.Write("Names", names); writer.Write("List", list); writer.Write("Dim", dimension); // 変更を反映 writer.Commit(); // QuickSaveReaderのインスタンスを作成 QuickSaveReader reader = QuickSaveReader.Create("Test"); // データを読み込む int[] _numbers = reader.Read<int[]>("Num"); string[] _names = reader.Read<string[]>("Names"); List<int> _list = reader.Read<List<int>>("List"); int[,] _dimension = reader.Read<int[,]>("Dim"); } }
最後に
JsonUtility を使うよりかなり直感的につかえます。なにより無料なのがうれしい。