// ReSharper disable CheckNamespace // ReSharper disable InconsistentNaming using System; using System.CodeDom.Compiler; using System.IO; using System.Text; using MonoMod; using LooseDBTables; using UnityEngine; namespace DB; [MonoModIgnore] [GeneratedCode("LooseDBTables.GeneratePatches", "1.0.0.0")] public class OptionDispchainIDEnum { public static extern bool LoadFromFile(string filename); public static extern void DumpToFile(string filename); protected static OptionDispchainTableRecord[] records; } [GeneratedCode("LooseDBTables.GeneratePatches", "1.0.0.0")] [Serializable] public class SerializableOptionDispchainTableRecord { public System.Int32 EnumValue; public System.String EnumName; public System.String Name; public System.String NameEx; public System.String Detail; public System.String DetailEx; public System.String FilePath; public System.Boolean isDefault; } [GeneratedCode("LooseDBTables.GeneratePatches", "1.0.0.0")] public class patch_OptionDispchainIDEnum : OptionDispchainIDEnum { public new static bool LoadFromFile(string filename) { if (!File.Exists(filename)) { return false; } var table = JsonUtility.FromJson>(File.ReadAllText(filename)); try { if (table.records.Length != records.Length) { Debug.LogError($"Count read error: {filename}"); return false; } var src = table.records; var dst = records; for (var i = 0; i < table.records.Length; i++) { dst[i] = new OptionDispchainTableRecord { EnumValue = (System.Int32)src[i].EnumValue, EnumName = (System.String)src[i].EnumName, Name = (System.String)src[i].Name, NameEx = (System.String)src[i].NameEx, Detail = (System.String)src[i].Detail, DetailEx = (System.String)src[i].DetailEx, FilePath = (System.String)src[i].FilePath, isDefault = (System.Boolean)src[i].isDefault, }; } } catch { Debug.LogError($"File read error: {filename}"); return false; } return true; } public new static void DumpToFile(string filename) { var table = new Table() { records = new SerializableOptionDispchainTableRecord[records.Length] }; var src = records; var dst = table.records; for (var i = 0; i < records.Length; i++) { dst[i] = new SerializableOptionDispchainTableRecord { EnumValue = (System.Int32)src[i].EnumValue, EnumName = (System.String)src[i].EnumName, Name = (System.String)src[i].Name, NameEx = (System.String)src[i].NameEx, Detail = (System.String)src[i].Detail, DetailEx = (System.String)src[i].DetailEx, FilePath = (System.String)src[i].FilePath, isDefault = (System.Boolean)src[i].isDefault, }; } File.WriteAllText(filename, JsonUtility.ToJson(table, true), Encoding.UTF8); } }