diff --git a/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TBool.cs b/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TBool.cs index d2e2c90..c68882a 100644 --- a/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TBool.cs +++ b/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TBool.cs @@ -12,7 +12,7 @@ namespace Tools.ExcelResolver.Editor internal override bool String2TType(string typeText) { - return string.Equals(typeText.Trim(), "bool", StringComparison.OrdinalIgnoreCase); + return string.Equals(typeText, "bool", StringComparison.OrdinalIgnoreCase); } internal override object TryParseFrom(string cellText) diff --git a/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TDict.cs b/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TDict.cs index 618ed1b..aeb489c 100644 --- a/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TDict.cs +++ b/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TDict.cs @@ -22,7 +22,7 @@ namespace Tools.ExcelResolver.Editor internal override bool String2TType(string typeText) { var split = typeText.Split(',', StringSplitOptions.RemoveEmptyEntries); - if (split.Length != 3 || !string.Equals(split[0].Trim(), "dict", StringComparison.OrdinalIgnoreCase)) + if (split.Length < 3 || !split[0].StartsWith("dict", StringComparison.OrdinalIgnoreCase)) { return false; } @@ -42,7 +42,8 @@ namespace Tools.ExcelResolver.Editor } var dict = (IDictionary)Activator.CreateInstance(typeof(Dictionary<,>).MakeGenericType(KeyType.RealType, ValueType.RealType)); - var entries = cellText.Split('|'); // 假定每个键值对用 "|" 分隔 + var splitChar = GetTagByDefault("spe", "|"); + var entries = cellText.Split(splitChar, StringSplitOptions.RemoveEmptyEntries); foreach (var entry in entries) { diff --git a/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TFloat.cs b/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TFloat.cs index b7c03b7..7f4a0f0 100644 --- a/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TFloat.cs +++ b/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TFloat.cs @@ -12,7 +12,7 @@ namespace Tools.ExcelResolver.Editor internal override bool String2TType(string typeText) { - return string.Equals(typeText.Trim(), "float", StringComparison.OrdinalIgnoreCase); + return string.Equals(typeText, "float", StringComparison.OrdinalIgnoreCase); } diff --git a/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TInt.cs b/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TInt.cs index 9ed617c..3cd9168 100644 --- a/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TInt.cs +++ b/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TInt.cs @@ -12,7 +12,7 @@ namespace Tools.ExcelResolver.Editor internal override bool String2TType(string typeText) { - return string.Equals(typeText.Trim(), "int", StringComparison.OrdinalIgnoreCase); + return string.Equals(typeText, "int", StringComparison.OrdinalIgnoreCase); } internal override object TryParseFrom(string cellText) diff --git a/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TList.cs b/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TList.cs index afb7282..fab5805 100644 --- a/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TList.cs +++ b/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TList.cs @@ -33,7 +33,7 @@ namespace Tools.ExcelResolver.Editor internal override object TryParseFrom(string cellText) { var splitChar = GetTagByDefault("spe", "|"); - var split = cellText.Split(splitChar); + var split = cellText.Split(splitChar, StringSplitOptions.RemoveEmptyEntries); 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 8073857..57c8558 100644 --- a/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TString.cs +++ b/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TString.cs @@ -12,7 +12,7 @@ namespace Tools.ExcelResolver.Editor internal override bool String2TType(string typeText) { - return string.Equals(typeText.Trim(), "string", StringComparison.OrdinalIgnoreCase); + return string.Equals(typeText, "string", StringComparison.OrdinalIgnoreCase); } internal override object TryParseFrom(string cellText) diff --git a/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TVector2.cs b/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TVector2.cs index 38fe22e..90a5b08 100644 --- a/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TVector2.cs +++ b/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TVector2.cs @@ -13,13 +13,13 @@ namespace Tools.ExcelResolver.Editor internal override bool String2TType(string typeText) { - return string.Equals(typeText.Trim(), "vector2", StringComparison.OrdinalIgnoreCase); + return string.Equals(typeText, "vector2", StringComparison.OrdinalIgnoreCase); } internal override object TryParseFrom(string cellText) { cellText = cellText[1..^1]; - var split = cellText.Split(','); + var split = cellText.Split(',', StringSplitOptions.RemoveEmptyEntries); if (split.Length != 2) { return null; diff --git a/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TVector3.cs b/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TVector3.cs index dc01f74..d003ed7 100644 --- a/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TVector3.cs +++ b/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TVector3.cs @@ -13,13 +13,13 @@ namespace Tools.ExcelResolver.Editor internal override bool String2TType(string typeText) { - return string.Equals(typeText.Trim(), "vector3", StringComparison.OrdinalIgnoreCase); + return string.Equals(typeText, "vector3", StringComparison.OrdinalIgnoreCase); } internal override object TryParseFrom(string cellText) { cellText = cellText[1..^1]; - var split = cellText.Split(','); + var split = cellText.Split(',', StringSplitOptions.RemoveEmptyEntries); if (split.Length != 3) { return null; diff --git a/Assets/Unity-Tools/ExcelResolver/Editor/Core/Util/ExcelResolverUtil.Cell.cs b/Assets/Unity-Tools/ExcelResolver/Editor/Core/Util/ExcelResolverUtil.Cell.cs index bc4b390..5c5fb20 100644 --- a/Assets/Unity-Tools/ExcelResolver/Editor/Core/Util/ExcelResolverUtil.Cell.cs +++ b/Assets/Unity-Tools/ExcelResolver/Editor/Core/Util/ExcelResolverUtil.Cell.cs @@ -56,7 +56,7 @@ namespace Tools.ExcelResolver.Editor } else { - result = type.TryParseFrom(cell.Text); + result = type.TryParseFrom(cell.Text.Trim()); } if (result != null) 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 287c4d3..ff607eb 100644 --- a/Assets/Unity-Tools/ExcelResolver/Editor/Core/Util/ExcelResolverUtil.TType.cs +++ b/Assets/Unity-Tools/ExcelResolver/Editor/Core/Util/ExcelResolverUtil.TType.cs @@ -45,6 +45,7 @@ namespace Tools.ExcelResolver.Editor _currentCell = cell ?? _currentCell; _currentClassName = className ?? _currentClassName; _allTTypes ??= GetAllTTypes(); + targetText = targetText.Trim(); foreach (var tType in _allTTypes) { diff --git a/Assets/_Project/ExcelResolver/Excel/hero.xlsx b/Assets/_Project/ExcelResolver/Excel/hero.xlsx index 9764134..e04fe51 100644 Binary files a/Assets/_Project/ExcelResolver/Excel/hero.xlsx and b/Assets/_Project/ExcelResolver/Excel/hero.xlsx differ diff --git a/Assets/_Project/ScriptableObject/Excel/Hero_1.asset b/Assets/_Project/ScriptableObject/Excel/Hero_1.asset index 5fdab6e..ec8f7f8 100644 --- a/Assets/_Project/ScriptableObject/Excel/Hero_1.asset +++ b/Assets/_Project/ScriptableObject/Excel/Hero_1.asset @@ -21,20 +21,14 @@ MonoBehaviour: PrefabModificationsReferencedUnityObjects: [] PrefabModifications: [] SerializationNodes: - - Name: attribute + - Name: nihao Entry: 7 - Data: 0|System.Collections.Generic.Dictionary`2[[Tools.ExcelResolver.Attribute, - Assembly-CSharp],[System.Int32, mscorlib]], mscorlib + Data: 0|System.Collections.Generic.Dictionary`2[[System.Int32, mscorlib],[System.Single, + mscorlib]], mscorlib - Name: comparer Entry: 7 - Data: 1|System.Collections.Generic.EnumEqualityComparer`1[[Tools.ExcelResolver.Attribute, - Assembly-CSharp]], mscorlib - - Name: - Entry: 12 - Data: 0 - - Name: - Entry: 13 - Data: + Data: 1|System.Collections.Generic.GenericEqualityComparer`1[[System.Int32, + mscorlib]], mscorlib - Name: Entry: 8 Data: @@ -46,10 +40,10 @@ MonoBehaviour: Data: - Name: $k Entry: 3 - Data: 0 + Data: 2 - Name: $v - Entry: 3 - Data: 500 + Entry: 4 + Data: 2.3 - Name: Entry: 8 Data: @@ -58,10 +52,10 @@ MonoBehaviour: Data: - Name: $k Entry: 3 - Data: 1 + Data: 5 - Name: $v - Entry: 3 - Data: 300 + Entry: 4 + Data: 4.6 - Name: Entry: 8 Data: @@ -71,14 +65,20 @@ MonoBehaviour: - Name: Entry: 8 Data: - - Name: nihao + - Name: attribute Entry: 7 - Data: 2|System.Collections.Generic.Dictionary`2[[System.Int32, mscorlib],[System.Single, - mscorlib]], mscorlib + Data: 2|System.Collections.Generic.Dictionary`2[[Tools.ExcelResolver.Attribute, + Assembly-CSharp],[System.Int32, mscorlib]], mscorlib - Name: comparer Entry: 7 - Data: 3|System.Collections.Generic.GenericEqualityComparer`1[[System.Int32, - mscorlib]], mscorlib + Data: 3|System.Collections.Generic.EnumEqualityComparer`1[[Tools.ExcelResolver.Attribute, + Assembly-CSharp]], mscorlib + - Name: + Entry: 12 + Data: 0 + - Name: + Entry: 13 + Data: - Name: Entry: 8 Data: @@ -90,10 +90,10 @@ MonoBehaviour: Data: - Name: $k Entry: 3 - Data: 2 + Data: 0 - Name: $v - Entry: 4 - Data: 2.3 + Entry: 3 + Data: 500 - Name: Entry: 8 Data: @@ -102,10 +102,10 @@ MonoBehaviour: Data: - Name: $k Entry: 3 - Data: 5 + Data: 1 - Name: $v - Entry: 4 - Data: 4.6 + Entry: 3 + Data: 300 - Name: Entry: 8 Data: diff --git a/Assets/_Project/ScriptableObject/Excel/Hero_2.asset b/Assets/_Project/ScriptableObject/Excel/Hero_2.asset index 5a31fc8..a305662 100644 --- a/Assets/_Project/ScriptableObject/Excel/Hero_2.asset +++ b/Assets/_Project/ScriptableObject/Excel/Hero_2.asset @@ -21,20 +21,14 @@ MonoBehaviour: PrefabModificationsReferencedUnityObjects: [] PrefabModifications: [] SerializationNodes: - - Name: attribute + - Name: nihao Entry: 7 - Data: 0|System.Collections.Generic.Dictionary`2[[Tools.ExcelResolver.Attribute, - Assembly-CSharp],[System.Int32, mscorlib]], mscorlib + Data: 0|System.Collections.Generic.Dictionary`2[[System.Int32, mscorlib],[System.Single, + mscorlib]], mscorlib - Name: comparer Entry: 7 - Data: 1|System.Collections.Generic.EnumEqualityComparer`1[[Tools.ExcelResolver.Attribute, - Assembly-CSharp]], mscorlib - - Name: - Entry: 12 - Data: 0 - - Name: - Entry: 13 - Data: + Data: 1|System.Collections.Generic.GenericEqualityComparer`1[[System.Int32, + mscorlib]], mscorlib - Name: Entry: 8 Data: @@ -47,14 +41,20 @@ MonoBehaviour: - Name: Entry: 8 Data: - - Name: nihao + - Name: attribute Entry: 7 - Data: 2|System.Collections.Generic.Dictionary`2[[System.Int32, mscorlib],[System.Single, - mscorlib]], mscorlib + Data: 2|System.Collections.Generic.Dictionary`2[[Tools.ExcelResolver.Attribute, + Assembly-CSharp],[System.Int32, mscorlib]], mscorlib - Name: comparer Entry: 7 - Data: 3|System.Collections.Generic.GenericEqualityComparer`1[[System.Int32, - mscorlib]], mscorlib + Data: 3|System.Collections.Generic.EnumEqualityComparer`1[[Tools.ExcelResolver.Attribute, + Assembly-CSharp]], mscorlib + - Name: + Entry: 12 + Data: 0 + - Name: + Entry: 13 + Data: - Name: Entry: 8 Data: diff --git a/Assets/_Project/ScriptableObject/Excel/Hero_3.asset b/Assets/_Project/ScriptableObject/Excel/Hero_3.asset index 48718c7..c104b61 100644 --- a/Assets/_Project/ScriptableObject/Excel/Hero_3.asset +++ b/Assets/_Project/ScriptableObject/Excel/Hero_3.asset @@ -21,13 +21,33 @@ MonoBehaviour: PrefabModificationsReferencedUnityObjects: [] PrefabModifications: [] SerializationNodes: + - Name: nihao + Entry: 7 + Data: 0|System.Collections.Generic.Dictionary`2[[System.Int32, mscorlib],[System.Single, + mscorlib]], mscorlib + - Name: comparer + Entry: 7 + Data: 1|System.Collections.Generic.GenericEqualityComparer`1[[System.Int32, + mscorlib]], mscorlib + - Name: + Entry: 8 + Data: + - Name: + Entry: 12 + Data: 0 + - Name: + Entry: 13 + Data: + - Name: + Entry: 8 + Data: - Name: attribute Entry: 7 - Data: 0|System.Collections.Generic.Dictionary`2[[Tools.ExcelResolver.Attribute, + Data: 2|System.Collections.Generic.Dictionary`2[[Tools.ExcelResolver.Attribute, Assembly-CSharp],[System.Int32, mscorlib]], mscorlib - Name: comparer Entry: 7 - Data: 1|System.Collections.Generic.EnumEqualityComparer`1[[Tools.ExcelResolver.Attribute, + Data: 3|System.Collections.Generic.EnumEqualityComparer`1[[Tools.ExcelResolver.Attribute, Assembly-CSharp]], mscorlib - Name: Entry: 12 @@ -59,26 +79,6 @@ 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: 7 - Data: 3|System.Collections.Generic.GenericEqualityComparer`1[[System.Int32, - mscorlib]], mscorlib - - Name: - Entry: 8 - Data: - - 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 601cc38..3695fac 100644 --- a/Assets/_Project/Scripts/Generator/Excel/Hero.cs +++ b/Assets/_Project/Scripts/Generator/Excel/Hero.cs @@ -71,14 +71,14 @@ namespace Tools.ExcelResolver public List attack_target; /// - /// + /// 你好 /// - public Dictionary attribute; + public Dictionary nihao; /// - /// 你好 + /// /// - public Dictionary nihao; + public Dictionary attribute; /// ///