sinmai-mods/LooseDBTables/DB/patch_OptionStarrotateIDEnum.cs
2024-05-24 21:46:42 +07:00

83 lines
3.1 KiB
C#

// 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 OptionStarrotateIDEnum
{
public static extern bool LoadFromFile(string filename);
public static extern void DumpToFile(string filename);
protected static OptionStarrotateTableRecord[] records;
}
[GeneratedCode("LooseDBTables.GeneratePatches", "1.0.0.0")]
[Serializable]
public class SerializableOptionStarrotateTableRecord {
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_OptionStarrotateIDEnum : OptionStarrotateIDEnum {
public new static bool LoadFromFile(string filename) {
if (!File.Exists(filename)) {
return false;
}
var table = JsonUtility.FromJson<Table<SerializableOptionStarrotateTableRecord>>(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 OptionStarrotateTableRecord { 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<SerializableOptionStarrotateTableRecord>() {
records = new SerializableOptionStarrotateTableRecord[records.Length]
};
var src = records;
var dst = table.records;
for (var i = 0; i < records.Length; i++) {
dst[i] = new SerializableOptionStarrotateTableRecord { 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);
}
}