// テーブルの出力 void DumpTable(string subject, SQLiteTable table) { if (!string.IsNullOrEmpty(subject)) { Console.text += $"--- Dump {subject} ---\n"; } if (SQLiteTable.IsNullOrEmpty(table)) { Console.text += "ERROR\n"; } else { for (var row = 0; row < table.Rows.Count; row++) { Console.text += $"#{row + 1}/{table.Rows.Count}\n"; foreach (ColumnDefinition column in table.Columns) { if (table [row, column.Name] != null) { Console.text += $"{column.Name} {ColumnDefinition.ColumnTypeName [column.Type]}: {table [row, column.Name]}\n"; } } } } Console.text += "===\n"; Debug.Log(table); }
// テスト private void Start() { // 開始宣言 Console.text = "SQLiteUnity Test Start\n\n"; Debug.Log("Start"); // DB接続とテスト (初回は生成) using (Database = new SQLite("SQLiteTest.db", Creation)) { // 初回のみ if (SQLiteTable.IsNullOrEmpty(Party.GetTable())) { // 適当にキャラを生成 var characters = new List <string> { "太郎", "花子", "二郎", "三郎" }.ConvertAll(name => Character.NewCharacter(name)); // 適当にパーティを生成してメンバーを追加 var P1 = Party.NewParty("不滅の旅団", "ガンガンいこうぜ!"); P1.Add(characters [0], JobClass.Fighter, "俺がリーダーだぜ!"); P1.Add(characters [1], JobClass.Cleric, "紅一点"); P1.Add(characters [2], JobClass.Archer, "…"); var P2 = Party.NewParty("肉球", "まったり"); P2.Add(characters [3], JobClass.Fighter, "のんびりやりましょう"); P2.Add(characters [2], JobClass.Cleric, "…"); P2.Add(characters [1], JobClass.Archer, "よろしくお願いします"); } // 状況の取得と表示 foreach (SQLiteRow row in Party.GetTable()) { Console.text += $"{new Party (row.GetColumn (Guid.Parse, "PUID"))}\n=====\n"; } this.DumpTable("パーティ", Party.GetTable()); this.DumpTable("メンバー", Member.GetTable()); this.DumpTable("キャラクタ", Character.GetTable()); } // 保存場所の報告 Console.text += $"\npath {Application.persistentDataPath}"; Debug.Log(Application.persistentDataPath); }