using System; using System.Collections.Generic; using System.Reflection; using System.Text; namespace _2DGAMELIB { public static class ObjExtensions { static readonly Dictionary KeyMap = new() { ["咳"] = "Cough", ["腰"] = "Waist", ["胴"] = "Torso", ["首"] = "Neck", ["頭"] = "Head", ["後髪0"] = "BackHair0", ["後髪1"] = "BackHair1", ["横髪"] = "SideHair", ["脚"] = "Leg", ["腕"] = "Arm", ["肩"] = "Shoulder", ["胸"] = "Chest", ["下腕"] = "LowerArm", ["上腕"] = "UpperArm", ["鳥翼上腕"] = "鳥翼UpperArm", ["獣翼上腕"] = "獣翼UpperArm", ["四足上腕"] = "四足UpperArm", ["鳥翼下腕"] = "鳥翼LowerArm", ["獣翼下腕"] = "獣翼LowerArm", ["四足下腕"] = "四足LowerArm", ["基髪"] = "BaseHair", ["胸毛"] = "ChestHair", ["前髪"] = "FrontHair", ["眉左"] = "EyebrowLeft", ["額目"] = "ForeheadEye", ["額瞼"] = "ForeheadEyelid", ["顔ハイライト左"] = "FaceHighlightLeft", ["顔面"] = "Face", ["魔性中瞼左"] = "DemonicMidEyelidLeft", ["魔性強瞼左"] = "DemonicStrongEyelidLeft", ["魔性弱瞼左"] = "DemonicWeakEyelidLeft", ["単眼目"] = "MonoEye", ["単眼眉"] = "MonoEyebrow", ["単眼瞼"] = "MonoEyelid", ["単足"] = "MonoLeg", ["獣性瞼左"] = "BestialEyelidLeft", ["目傷左"] = "EyeScarLeft", ["目尻影左"] = "EyeCornerShadowLeft", ["目左"] = "EyeLeft", ["目隠帯"] = "Blindfold", ["頬目左"] = "CheekEyeLeft", ["頬瞼左"] = "CheekEyelidLeft", ["頬肌左"] = "CheekSkinLeft", }; public static void MigrateKeys(this Obj obj) { var newDict = new OrderedDictionary(); foreach (var key in obj.Keys) { var newKey = KeyMap.TryGetValue(key, out var mapped) ? mapped : key; var difs = obj.Difss[key]; newDict.Add(newKey, difs); } obj.Difss = newDict; } } }