From 828c1a069fe7b2de5d7fed22ed76c64e24c91004 Mon Sep 17 00:00:00 2001 From: coffee <985942825@qq.com> Date: Sat, 25 Jan 2025 23:13:35 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=BE=E7=BD=AEtype=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Config/Editor/AOTGenerationConfig.asset | 19 +++ .../Editor/AOTGenerationConfig.asset.meta | 8 ++ .../Config/Editor/ColorPaletteManager.asset | 136 ++++++++++++++++++ .../Editor/ColorPaletteManager.asset.meta | 8 ++ .../Config/Editor/ImportSettingsConfig.asset | 15 ++ .../Editor/ImportSettingsConfig.asset.meta | 8 ++ .../ExcelResolver/Editor/Core/Types/TBool.cs | 1 + .../ExcelResolver/Editor/Core/Types/TDict.cs | 4 + .../ExcelResolver/Editor/Core/Types/TFloat.cs | 1 + .../ExcelResolver/Editor/Core/Types/TInt.cs | 1 + .../ExcelResolver/Editor/Core/Types/TList.cs | 9 +- .../Editor/Core/Types/TString.cs | 1 + .../ExcelResolver/Editor/Core/Types/TType.cs | 43 ++++++ .../Editor/Core/Types/TVector2.cs | 1 + .../Editor/Core/Types/TVector3.cs | 1 + .../Core/Util/ExcelResolverUtil.TType.cs | 6 +- Assets/_Project/ExcelResolver/Excel/hero.xlsx | Bin 10964 -> 11014 bytes .../ScriptableObject/Excel/Hero_1.asset | 40 ++++++ .../ScriptableObject/Excel/Hero_2.asset | 16 +++ .../ScriptableObject/Excel/Hero_3.asset | 16 +++ .../_Project/Scripts/Generator/Excel/Hero.cs | 5 + 21 files changed, 334 insertions(+), 5 deletions(-) create mode 100644 Assets/Plugins/Sirenix/Odin Inspector/Config/Editor/AOTGenerationConfig.asset create mode 100644 Assets/Plugins/Sirenix/Odin Inspector/Config/Editor/AOTGenerationConfig.asset.meta create mode 100644 Assets/Plugins/Sirenix/Odin Inspector/Config/Editor/ColorPaletteManager.asset create mode 100644 Assets/Plugins/Sirenix/Odin Inspector/Config/Editor/ColorPaletteManager.asset.meta create mode 100644 Assets/Plugins/Sirenix/Odin Inspector/Config/Editor/ImportSettingsConfig.asset create mode 100644 Assets/Plugins/Sirenix/Odin Inspector/Config/Editor/ImportSettingsConfig.asset.meta diff --git a/Assets/Plugins/Sirenix/Odin Inspector/Config/Editor/AOTGenerationConfig.asset b/Assets/Plugins/Sirenix/Odin Inspector/Config/Editor/AOTGenerationConfig.asset new file mode 100644 index 0000000..0143677 --- /dev/null +++ b/Assets/Plugins/Sirenix/Odin Inspector/Config/Editor/AOTGenerationConfig.asset @@ -0,0 +1,19 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1726182683, guid: a4865f1ab4504ed8a368670db22f409c, type: 3} + m_Name: AOTGenerationConfig + m_EditorClassIdentifier: + automateBeforeBuilds: 0 + deleteDllAfterBuilds: 1 + AutomateForAllAOTPlatforms: 1 + automateForPlatforms: 0900000014000000 + supportSerializedTypes: [] diff --git a/Assets/Plugins/Sirenix/Odin Inspector/Config/Editor/AOTGenerationConfig.asset.meta b/Assets/Plugins/Sirenix/Odin Inspector/Config/Editor/AOTGenerationConfig.asset.meta new file mode 100644 index 0000000..758f0cd --- /dev/null +++ b/Assets/Plugins/Sirenix/Odin Inspector/Config/Editor/AOTGenerationConfig.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b62dc7eee015bd745b66f9ea397cead5 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Sirenix/Odin Inspector/Config/Editor/ColorPaletteManager.asset b/Assets/Plugins/Sirenix/Odin Inspector/Config/Editor/ColorPaletteManager.asset new file mode 100644 index 0000000..4393db1 --- /dev/null +++ b/Assets/Plugins/Sirenix/Odin Inspector/Config/Editor/ColorPaletteManager.asset @@ -0,0 +1,136 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 772478971, guid: a4865f1ab4504ed8a368670db22f409c, type: 3} + m_Name: ColorPaletteManager + m_EditorClassIdentifier: + colorPalettes: + - name: Country + showAlpha: 0 + colors: + - {r: 0.776, g: 0.651, b: 0.349, a: 1} + - {r: 0.863, g: 0.761, b: 0.631, a: 1} + - {r: 0.91, g: 0.831, b: 0.686, a: 1} + - {r: 0.961, g: 0.902, b: 0.788, a: 1} + - {r: 0.753, g: 0.714, b: 0.667, a: 1} + - {r: 0.478, g: 0.573, b: 0.431, a: 1} + - {r: 0.314, g: 0.427, b: 0.31, a: 1} + - {r: 0.596, g: 0.345, b: 0.235, a: 1} + - {r: 0.545, g: 0.329, b: 0.318, a: 1} + - {r: 0.647, g: 0.204, b: 0.227, a: 1} + - {r: 0.435, g: 0.161, b: 0.063, a: 1} + - {r: 0.357, g: 0.333, b: 0.278, a: 1} + - {r: 0.976, g: 0.98, b: 0.961, a: 1} + - {r: 0.165, g: 0.271, b: 0.11, a: 1} + - name: Beach + showAlpha: 0 + colors: + - {r: 0.996, g: 0.906, b: 0.459, a: 1} + - {r: 0.314, g: 0.592, b: 0.035, a: 1} + - {r: 0.486, g: 0.953, b: 0.875, a: 1} + - {r: 0.996, g: 0.82, b: 0.212, a: 1} + - {r: 1, g: 0.769, b: 0.165, a: 1} + - {r: 0.804, g: 0.835, b: 0.753, a: 1} + - {r: 1, g: 0.769, b: 0.165, a: 1} + - {r: 1, g: 0.702, b: 0.063, a: 1} + - {r: 1, g: 0.898, b: 0.569, a: 1} + - name: Fall + showAlpha: 0 + colors: + - {r: 0.82, g: 0.722, b: 0.318, a: 1} + - {r: 0.537, g: 0.192, b: 0.153, a: 1} + - {r: 0.996, g: 0.812, b: 0.012, a: 1} + - {r: 1, g: 0.431, b: 0.02, a: 1} + - {r: 0.937, g: 0.267, b: 0.094, a: 1} + - {r: 0.42, g: 0.212, b: 0.18, a: 1} + - {r: 0.992, g: 0.651, b: 0.004, a: 1} + - {r: 0.89, g: 0.353, b: 0.086, a: 1} + - {r: 1, g: 0.443, b: 0.004, a: 1} + - {r: 0.682, g: 0.275, b: 0.137, a: 1} + - {r: 0.306, g: 0.231, b: 0.114, a: 1} + - {r: 0.384, g: 0.416, b: 0.082, a: 1} + - {r: 0.165, g: 0.157, b: 0.008, a: 1} + - {r: 0.906, g: 0.635, b: 0.227, a: 1} + - {r: 0.82, g: 0.722, b: 0.318, a: 1} + - {r: 0.745, g: 0.435, b: 0.031, a: 1} + - {r: 0.765, g: 0.682, b: 0.569, a: 1} + - {r: 0.18, g: 0.149, b: 0.075, a: 1} + - {r: 0.702, g: 0.451, b: 0.059, a: 1} + - name: Passion + showAlpha: 0 + colors: + - {r: 0.925, g: 0.682, b: 0.624, a: 1} + - {r: 0.188, g: 0.114, b: 0.224, a: 1} + - {r: 0.349, g: 0.11, b: 0.231, a: 1} + - {r: 0.435, g: 0.267, b: 0.357, a: 1} + - name: Sepia + showAlpha: 0 + colors: + - {r: 0.353, g: 0.098, b: 0.02, a: 1} + - {r: 0.663, g: 0.188, b: 0.114, a: 1} + - {r: 0.906, g: 0.643, b: 0.082, a: 1} + - {r: 0.996, g: 0.839, b: 0.322, a: 1} + - {r: 0.486, g: 0.392, b: 0.02, a: 1} + - {r: 0.294, g: 0.235, b: 0.012, a: 1} + - name: Floral + showAlpha: 0 + colors: + - {r: 0.855, g: 0.518, b: 0.412, a: 1} + - {r: 0.827, g: 0.294, b: 0.333, a: 1} + - {r: 0.737, g: 0.118, b: 0.208, a: 1} + - {r: 0.549, g: 0.149, b: 0.235, a: 1} + - {r: 0.949, g: 0.925, b: 0.784, a: 1} + - {r: 0.945, g: 0.882, b: 0.69, a: 1} + - {r: 0.871, g: 0.812, b: 0.698, a: 1} + - {r: 0.4, g: 0.196, b: 0.243, a: 1} + - {r: 0.271, g: 0.157, b: 0.227, a: 1} + - name: Underwater + showAlpha: 0 + colors: + - {r: 0.663, g: 0.416, b: 0.733, a: 1} + - {r: 0.2, g: 0.6, b: 0.698, a: 1} + - {r: 0.11, g: 0.49, b: 0.698, a: 1} + - {r: 0.439, g: 0.627, b: 0.227, a: 1} + - {r: 0, g: 0.357, b: 0.604, a: 1} + - {r: 0.067, g: 0.271, b: 0.353, a: 1} + - name: Breeze + showAlpha: 0 + colors: + - {r: 0.706, g: 1, b: 0, a: 1} + - {r: 0.651, g: 1, b: 0.404, a: 1} + - {r: 0.122, g: 1, b: 0.514, a: 1} + - {r: 0.216, g: 0.894, b: 0.961, a: 1} + - {r: 0.4, g: 1, b: 0.882, a: 1} + - {r: 0.027, g: 0.792, b: 0.8, a: 1} + - name: Clovers + showAlpha: 0 + colors: + - {r: 0.431, g: 0.549, b: 0.102, a: 1} + - {r: 0.671, g: 0.714, b: 0.071, a: 1} + - {r: 0.969, g: 0.949, b: 0.831, a: 1} + - {r: 0.886, g: 0.902, b: 0.702, a: 1} + - {r: 0.753, g: 0.824, b: 0.627, a: 1} + - {r: 0.404, g: 0.6, b: 0.4, a: 1} + - name: Tropical + showAlpha: 0 + colors: + - {r: 0.953, g: 0.647, b: 0.804, a: 1} + - {r: 0.965, g: 0.741, b: 0.871, a: 1} + - {r: 0.949, g: 0.549, b: 0.643, a: 1} + - {r: 0.992, g: 0.659, b: 0.498, a: 1} + - {r: 0.976, g: 0.792, b: 0.729, a: 1} + - {r: 0.984, g: 0.855, b: 0.725, a: 1} + - {r: 0.259, g: 0.882, b: 0.663, a: 1} + - {r: 0.349, g: 0.753, b: 0.78, a: 1} + - {r: 0.725, g: 0.976, b: 0.91, a: 1} + - {r: 0.647, g: 0.745, b: 0.957, a: 1} + - {r: 0.725, g: 0.863, b: 0.973, a: 1} + - {r: 0.89, g: 0.945, b: 0.996, a: 1} diff --git a/Assets/Plugins/Sirenix/Odin Inspector/Config/Editor/ColorPaletteManager.asset.meta b/Assets/Plugins/Sirenix/Odin Inspector/Config/Editor/ColorPaletteManager.asset.meta new file mode 100644 index 0000000..f78b5a7 --- /dev/null +++ b/Assets/Plugins/Sirenix/Odin Inspector/Config/Editor/ColorPaletteManager.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: dd99579d474568645a1973d4f4aff87c +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Sirenix/Odin Inspector/Config/Editor/ImportSettingsConfig.asset b/Assets/Plugins/Sirenix/Odin Inspector/Config/Editor/ImportSettingsConfig.asset new file mode 100644 index 0000000..338ffe3 --- /dev/null +++ b/Assets/Plugins/Sirenix/Odin Inspector/Config/Editor/ImportSettingsConfig.asset @@ -0,0 +1,15 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 188390376, guid: a4865f1ab4504ed8a368670db22f409c, type: 3} + m_Name: ImportSettingsConfig + m_EditorClassIdentifier: + automateBeforeBuild: 1 diff --git a/Assets/Plugins/Sirenix/Odin Inspector/Config/Editor/ImportSettingsConfig.asset.meta b/Assets/Plugins/Sirenix/Odin Inspector/Config/Editor/ImportSettingsConfig.asset.meta new file mode 100644 index 0000000..b23b986 --- /dev/null +++ b/Assets/Plugins/Sirenix/Odin Inspector/Config/Editor/ImportSettingsConfig.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ceffa53b428a64741bb1944750a6ae63 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TBool.cs b/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TBool.cs index a184271..bb00bb7 100644 --- a/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TBool.cs +++ b/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TBool.cs @@ -4,6 +4,7 @@ namespace Tools.ExcelResolver.Editor { internal class TBool : TType { + public TBool(string typeText) : base(typeText) { } internal override Type RealType => typeof(bool); internal override object DefaultValue => false; internal override string FieldWriteFormat => "System.Boolean"; diff --git a/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TDict.cs b/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TDict.cs index a51d963..5ccbdcb 100644 --- a/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TDict.cs +++ b/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TDict.cs @@ -6,6 +6,10 @@ namespace Tools.ExcelResolver.Editor { internal class TDict : TType { + public TDict(string typeText) : base(typeText) + { + String2TType(typeText); + } internal override Type RealType => typeof(Dictionary<,>).MakeGenericType(KeyType?.RealType ?? typeof(object), ValueType?.RealType ?? typeof(object)); internal override string FieldWriteFormat => $"Dictionary<{KeyType?.RealType.Name ?? "object"}, {ValueType?.RealType.Name ?? "object"}>"; internal override object DefaultValue => Activator.CreateInstance(typeof(Dictionary<,>).MakeGenericType(KeyType?.RealType ?? typeof(object), ValueType?.RealType ?? typeof(object))); diff --git a/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TFloat.cs b/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TFloat.cs index 0496dfc..972db93 100644 --- a/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TFloat.cs +++ b/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TFloat.cs @@ -4,6 +4,7 @@ namespace Tools.ExcelResolver.Editor { internal class TFloat : TType { + public TFloat(string typeText) : base(typeText) { } internal override Type RealType => typeof(float); internal override object DefaultValue => 0.0f; internal override string FieldWriteFormat => "System.Single"; diff --git a/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TInt.cs b/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TInt.cs index aa13394..23b0330 100644 --- a/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TInt.cs +++ b/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TInt.cs @@ -4,6 +4,7 @@ namespace Tools.ExcelResolver.Editor { internal class TInt : TType { + public TInt(string typeText) : base(typeText) { } internal override Type RealType => typeof(int); internal override object DefaultValue => 0; internal override string FieldWriteFormat => "System.Int32"; diff --git a/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TList.cs b/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TList.cs index fe644d4..ee5f0dc 100644 --- a/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TList.cs +++ b/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TList.cs @@ -6,6 +6,10 @@ namespace Tools.ExcelResolver.Editor { internal class TList : TType { + public TList(string typeText) : base(typeText) + { + String2TType(typeText); + } internal override Type RealType => typeof(List<>).MakeGenericType(InnerType.RealType); internal override string FieldWriteFormat => $"List<{InnerType.RealType.Name}>"; internal override object DefaultValue => Activator.CreateInstance(typeof(List<>).MakeGenericType(InnerType.RealType)); @@ -15,7 +19,7 @@ namespace Tools.ExcelResolver.Editor internal override bool String2TType(string typeText) { var split = typeText.Split(','); - if (split.Length < 2 || !string.Equals(split[0], "list", StringComparison.OrdinalIgnoreCase)) + if (split.Length < 2 || !split[0].StartsWith("list")) { return false; } @@ -27,7 +31,8 @@ namespace Tools.ExcelResolver.Editor internal override object TryParseFrom(string cellText) { - var split = cellText.Split('|'); + var splitChar = GetTagByDefault("spe", "|"); + var split = cellText.Split(splitChar); if (split.Length > 0) { var list = (IList)Activator.CreateInstance(typeof(List<>).MakeGenericType(InnerType.RealType)); diff --git a/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TString.cs b/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TString.cs index 5244d54..448c92d 100644 --- a/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TString.cs +++ b/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TString.cs @@ -4,6 +4,7 @@ namespace Tools.ExcelResolver.Editor { internal class TString : TType { + public TString(string typeText) : base(typeText) { } internal override Type RealType => typeof(string); internal override object DefaultValue => string.Empty; internal override string FieldWriteFormat => "System.string"; diff --git a/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TType.cs b/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TType.cs index 0f51083..6d3eebb 100644 --- a/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TType.cs +++ b/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TType.cs @@ -1,4 +1,5 @@ using System; +using System.Collections.Generic; namespace Tools.ExcelResolver.Editor { @@ -26,5 +27,47 @@ namespace Tools.ExcelResolver.Editor /// /// internal abstract object TryParseFrom(string cellText); + + + internal TType(string typeText = null) + { + var type = typeText?.Split(',', StringSplitOptions.RemoveEmptyEntries); + if (type?.Length >= 1) + { + var split = type[0].Split(new []{'(', ')'}, StringSplitOptions.RemoveEmptyEntries); + if (split?.Length >= 2) + { + var configs = split[1].Split('#', StringSplitOptions.RemoveEmptyEntries); + foreach (var config in configs) + { + var c = config.Split('=', StringSplitOptions.RemoveEmptyEntries); + if (c.Length == 2) + { + tag ??= new Dictionary(); + tag[c[0]] = c[1]; + } + } + } + } + } + + private readonly Dictionary tag; + + protected string GetTag(string key) + { + if (tag == null) + { + return null; + } + return tag.GetValueOrDefault(key); + } + protected string GetTagByDefault(string key, string defaultValue) + { + if (tag == null) + { + return defaultValue; + } + return tag.GetValueOrDefault(key, defaultValue); + } } } \ No newline at end of file diff --git a/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TVector2.cs b/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TVector2.cs index f658f2f..79ea3c1 100644 --- a/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TVector2.cs +++ b/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TVector2.cs @@ -5,6 +5,7 @@ namespace Tools.ExcelResolver.Editor { internal class TVector2 : TType { + public TVector2(string typeText) : base(typeText) { } internal override Type RealType => typeof(Vector2); internal override object DefaultValue => Vector2.zero; internal override string FieldWriteFormat => "Vector2"; diff --git a/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TVector3.cs b/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TVector3.cs index 829fba0..e24ba21 100644 --- a/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TVector3.cs +++ b/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TVector3.cs @@ -5,6 +5,7 @@ namespace Tools.ExcelResolver.Editor { internal class TVector3 : TType { + public TVector3(string typeText) : base(typeText) { } internal override Type RealType => typeof(Vector3); internal override object DefaultValue => Vector3.zero; internal override string FieldWriteFormat => "Vector3"; diff --git a/Assets/Unity-Tools/ExcelResolver/Editor/Core/Util/ExcelResolverUtil.TType.cs b/Assets/Unity-Tools/ExcelResolver/Editor/Core/Util/ExcelResolverUtil.TType.cs index 25cb18b..b0a6eb4 100644 --- a/Assets/Unity-Tools/ExcelResolver/Editor/Core/Util/ExcelResolverUtil.TType.cs +++ b/Assets/Unity-Tools/ExcelResolver/Editor/Core/Util/ExcelResolverUtil.TType.cs @@ -16,12 +16,12 @@ namespace Tools.ExcelResolver.Editor return Assembly.GetAssembly(typeof(TType)) .GetTypes() .Where(t => t.IsSubclassOf(typeof(TType)) && !t.IsAbstract) - .Select(t => Activator.CreateInstance(t) as TType) + .Select(t => Activator.CreateInstance(t, string.Empty) as TType) .ToArray(); } /// - /// 更具类型字符串获取 TType + /// 根据类型字符串获取TType /// /// /// @@ -36,7 +36,7 @@ namespace Tools.ExcelResolver.Editor { if (tType.String2TType(targetText)) { - return tType; + return Activator.CreateInstance(tType.GetType(), targetText) as TType; } } diff --git a/Assets/_Project/ExcelResolver/Excel/hero.xlsx b/Assets/_Project/ExcelResolver/Excel/hero.xlsx index f92c9612eb186b293a84a953c5294455b9d591a2..b851c0df4cec27cbe1263574b969cbc2e36b956b 100644 GIT binary patch delta 2214 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 delta 2181 zcmV;02zvL1R@7Cno&f~sKgJ@Hq5&&^P191*(siJ+D+huT#k-LF?TT$ulFV+`zJZ|k zzJ%<7w)ZgYw%Vb1nVj=~Ip-(Icv+Rs3n*PkF+#-ikpqHBUWj~z?q?JC968!h!D%T4 zjL-@+8mFfx39Dl!72GOWgE9qZ$C8AOSv^8?W9k@V&E`;1?OBJgVkT8ZjXkP=9M_aR z(;RT%`)9ZULpe1Rw?MbdP1wb-`3ZiU-rRLn-9ogxVt~?wvzRHMMyiy_ECZ04kb03* zmEeKa?y;oWOzq0E0{G=B-M)QMY~MdO>#xoFHNn4ii|(52_`n^TE#5UbC=cP)^=yLD zzz;&#k6aSW2#HA)`~Fk={Ly@yb$3ziL;O#ST%Wi>)DnY>I0^^E10d~kAODZ^8?zh( zwE+%?O_gXb1ONc!4gdfc0F#g^6_Z~o1%H)S+j8PK5PjdO{Rfxd$Hs<)O94|8F5y}= zwVBy{7Dj+8w&j&Y$jsMoOTrS8HAD6x#7L)4xB46*dHDG~&%8HGtCSQYKMGpDhl_;l z)8aVtzki#5>iJ&9P_aiDDe%bufh+&>_|HFv7eZgF6UNK~hN2qzC&tP_7*@#%=YOaQ zNQn!WIS`s724CqhtV)W}UIgV?7`IxFVUE(mmka~?5e{-VqzRsq=y+Fc`6uv8@Gnx8)%)t9}p^5Sjk=1 zwxU&NMH?wvk@%^Jh)u+#iD;XMX%o>g5wj-Z!9>iPh({Cg+(dLu#G;AlnTTZ*(KivR zCL+>Gh?cD#5UZ;j2gGXY)&bFdH6#ZY{tw9&T1#%J@#KJ5a!ec$OMj2)eaOrKu{4`I zAXY7l`;esrVoASpKrHRoO-O8Mzi~h;?Y9ny*4_}d^8sOFwU-rI2^(v}$j$74SlUk< z5UbzQCd49{H4(Apj=2M3NxyJFEYX$@h$Y&p329rRt?xrN4v5y(5Dm_bySq_oroc+G z_Ak8fc%QbTXcbt~T7OoUIv`p_V?kZWEDxl35UHc%sSDZO#<~f@VG{uBoVIa{Ny`v3 z$!AG3zh-G!2xhLPG4FxV%ONx}T!Ll~IIcxwSEAnQdcCS~lC>PIh#)Mko2@ zzwRV2Pj1SdXrxu}VZPOW(+HRt@nVj4SR;%v0%+<4opAA0CZHsG+d44bDXcSl-TNzZAH`m6b<(Z8! zX?X_j|NPeg&T`!p?Ht*5d3Bdp!xA0w7SUr`R9=P;5Y!65SybN3#WN$N7=@pX9bxbq zQhz(a+aQJw(KiaMwAU=e#eNolCDoC8jUwPk8x++6YbIy-&REjr@{OMp4SR z^Ca0^u<+Ll^?o}353@cAJ_>(zNpW`!0ssIs1pojP0001ZY%g&_%37@-BFtx^>1 zp;|#jB#6)|9t2~*O*fl-3#Y9jyb}+*Fu&)0AD(w-cEaUB#;iUmBo%+WW&1VHwg`_! zLV34k-&?tL`I>D>g?WOR;G|^_iL{raix)yEm8E;RY}u(&dDC@eoRSR7n#c*)N=FnK zR(e@<(GcuydD0Ed6x~G5o-aNDzVqt96KEPKXgB7lyt5 zbOysp;dp&b;i5|vG}dB4+dXB>gOD2L2Bq9^klKKEp>JCV23dy*Y_zYESc#$zYx`$7 zfS6IKod0MEjg_MVo<6V-A<8=f(%JKG^MfalmM?d!@mENvZ+Cyn!}rzBXDG}*Y|OV_ zKsw!oVRk@1GT zezW0uqo7&$JSa4sWiXD$bpNP&V{YcB@8yrhQy6D%zV~`|w8&(s?gWd*YdC(ecs>|8 zXzI)AA9VGt7ySma$Q8d30f&=_CO`t=A(P4`G64mX{U(zH=Rd|GlawdN0WFhUC^i99 zlanYd8+A!>cMJjm05k;v02BZK000000096X00013liMgk0j853DLMfNlUOM>0xu1d zVGR|Nr70=_mXpvaUJ8dzm1r*n0086;lQ=3?0VtD?Dn$Yq3zLv46_Z~J1(Wb95C$tI H00000uf7a( diff --git a/Assets/_Project/ScriptableObject/Excel/Hero_1.asset b/Assets/_Project/ScriptableObject/Excel/Hero_1.asset index ec603a5..04db849 100644 --- a/Assets/_Project/ScriptableObject/Excel/Hero_1.asset +++ b/Assets/_Project/ScriptableObject/Excel/Hero_1.asset @@ -65,6 +65,46 @@ MonoBehaviour: - Name: Entry: 8 Data: + - Name: nihao + Entry: 7 + Data: 2|System.Collections.Generic.Dictionary`2[[System.Int32, mscorlib],[System.Single, + mscorlib]], mscorlib + - Name: comparer + Entry: 9 + Data: 1 + - Name: + Entry: 12 + Data: 2 + - Name: + Entry: 7 + Data: + - Name: $k + Entry: 3 + Data: 2 + - Name: $v + Entry: 4 + Data: 2.3 + - Name: + Entry: 8 + Data: + - Name: + Entry: 7 + Data: + - Name: $k + Entry: 3 + Data: 5 + - Name: $v + Entry: 4 + Data: 4.6 + - Name: + Entry: 8 + Data: + - Name: + Entry: 13 + Data: + - Name: + Entry: 8 + Data: id: 1 name: "\u9053\u58EB" icon: hero_1 diff --git a/Assets/_Project/ScriptableObject/Excel/Hero_2.asset b/Assets/_Project/ScriptableObject/Excel/Hero_2.asset index cfa159d..d212261 100644 --- a/Assets/_Project/ScriptableObject/Excel/Hero_2.asset +++ b/Assets/_Project/ScriptableObject/Excel/Hero_2.asset @@ -41,6 +41,22 @@ MonoBehaviour: - Name: Entry: 8 Data: + - Name: nihao + Entry: 7 + Data: 2|System.Collections.Generic.Dictionary`2[[System.Int32, mscorlib],[System.Single, + mscorlib]], mscorlib + - Name: comparer + Entry: 9 + Data: 1 + - Name: + Entry: 12 + Data: 0 + - Name: + Entry: 13 + Data: + - Name: + Entry: 8 + Data: id: 2 name: icon: hero_2 diff --git a/Assets/_Project/ScriptableObject/Excel/Hero_3.asset b/Assets/_Project/ScriptableObject/Excel/Hero_3.asset index c5aa403..5b509d3 100644 --- a/Assets/_Project/ScriptableObject/Excel/Hero_3.asset +++ b/Assets/_Project/ScriptableObject/Excel/Hero_3.asset @@ -53,6 +53,22 @@ MonoBehaviour: - Name: Entry: 8 Data: + - Name: nihao + Entry: 7 + Data: 2|System.Collections.Generic.Dictionary`2[[System.Int32, mscorlib],[System.Single, + mscorlib]], mscorlib + - Name: comparer + Entry: 9 + Data: 1 + - Name: + Entry: 12 + Data: 0 + - Name: + Entry: 13 + Data: + - Name: + Entry: 8 + Data: id: 2 name: "\u5973\u5DEB" icon: hero_3 diff --git a/Assets/_Project/Scripts/Generator/Excel/Hero.cs b/Assets/_Project/Scripts/Generator/Excel/Hero.cs index cd66223..57ebe21 100644 --- a/Assets/_Project/Scripts/Generator/Excel/Hero.cs +++ b/Assets/_Project/Scripts/Generator/Excel/Hero.cs @@ -74,5 +74,10 @@ namespace Tools.ExcelResolver /// /// public Dictionary attribute; + + /// + /// 你好 + /// + public Dictionary nihao; } }