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;
}
}