Browse Source

dict tag

main
coffee 5 months ago
parent
commit
40b0b92e17
  1. 2
      Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TBool.cs
  2. 5
      Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TDict.cs
  3. 2
      Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TFloat.cs
  4. 2
      Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TInt.cs
  5. 2
      Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TList.cs
  6. 2
      Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TString.cs
  7. 4
      Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TVector2.cs
  8. 4
      Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TVector3.cs
  9. 2
      Assets/Unity-Tools/ExcelResolver/Editor/Core/Util/ExcelResolverUtil.Cell.cs
  10. 1
      Assets/Unity-Tools/ExcelResolver/Editor/Core/Util/ExcelResolverUtil.TType.cs
  11. BIN
      Assets/_Project/ExcelResolver/Excel/hero.xlsx
  12. 56
      Assets/_Project/ScriptableObject/Excel/Hero_1.asset
  13. 32
      Assets/_Project/ScriptableObject/Excel/Hero_2.asset
  14. 44
      Assets/_Project/ScriptableObject/Excel/Hero_3.asset
  15. 8
      Assets/_Project/Scripts/Generator/Excel/Hero.cs

2
Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TBool.cs

@ -12,7 +12,7 @@ namespace Tools.ExcelResolver.Editor
internal override bool String2TType(string typeText) 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) internal override object TryParseFrom(string cellText)

5
Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TDict.cs

@ -22,7 +22,7 @@ namespace Tools.ExcelResolver.Editor
internal override bool String2TType(string typeText) internal override bool String2TType(string typeText)
{ {
var split = typeText.Split(',', StringSplitOptions.RemoveEmptyEntries); 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; return false;
} }
@ -42,7 +42,8 @@ namespace Tools.ExcelResolver.Editor
} }
var dict = (IDictionary)Activator.CreateInstance(typeof(Dictionary<,>).MakeGenericType(KeyType.RealType, ValueType.RealType)); 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) foreach (var entry in entries)
{ {

2
Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TFloat.cs

@ -12,7 +12,7 @@ namespace Tools.ExcelResolver.Editor
internal override bool String2TType(string typeText) internal override bool String2TType(string typeText)
{ {
return string.Equals(typeText.Trim(), "float", StringComparison.OrdinalIgnoreCase); return string.Equals(typeText, "float", StringComparison.OrdinalIgnoreCase);
} }

2
Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TInt.cs

@ -12,7 +12,7 @@ namespace Tools.ExcelResolver.Editor
internal override bool String2TType(string typeText) 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) internal override object TryParseFrom(string cellText)

2
Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TList.cs

@ -33,7 +33,7 @@ namespace Tools.ExcelResolver.Editor
internal override object TryParseFrom(string cellText) internal override object TryParseFrom(string cellText)
{ {
var splitChar = GetTagByDefault("spe", "|"); var splitChar = GetTagByDefault("spe", "|");
var split = cellText.Split(splitChar); var split = cellText.Split(splitChar, StringSplitOptions.RemoveEmptyEntries);
if (split.Length > 0) if (split.Length > 0)
{ {
var list = (IList)Activator.CreateInstance(typeof(List<>).MakeGenericType(InnerType.RealType)); var list = (IList)Activator.CreateInstance(typeof(List<>).MakeGenericType(InnerType.RealType));

2
Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TString.cs

@ -12,7 +12,7 @@ namespace Tools.ExcelResolver.Editor
internal override bool String2TType(string typeText) 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) internal override object TryParseFrom(string cellText)

4
Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TVector2.cs

@ -13,13 +13,13 @@ namespace Tools.ExcelResolver.Editor
internal override bool String2TType(string typeText) 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) internal override object TryParseFrom(string cellText)
{ {
cellText = cellText[1..^1]; cellText = cellText[1..^1];
var split = cellText.Split(','); var split = cellText.Split(',', StringSplitOptions.RemoveEmptyEntries);
if (split.Length != 2) if (split.Length != 2)
{ {
return null; return null;

4
Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TVector3.cs

@ -13,13 +13,13 @@ namespace Tools.ExcelResolver.Editor
internal override bool String2TType(string typeText) 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) internal override object TryParseFrom(string cellText)
{ {
cellText = cellText[1..^1]; cellText = cellText[1..^1];
var split = cellText.Split(','); var split = cellText.Split(',', StringSplitOptions.RemoveEmptyEntries);
if (split.Length != 3) if (split.Length != 3)
{ {
return null; return null;

2
Assets/Unity-Tools/ExcelResolver/Editor/Core/Util/ExcelResolverUtil.Cell.cs

@ -56,7 +56,7 @@ namespace Tools.ExcelResolver.Editor
} }
else else
{ {
result = type.TryParseFrom(cell.Text); result = type.TryParseFrom(cell.Text.Trim());
} }
if (result != null) if (result != null)

1
Assets/Unity-Tools/ExcelResolver/Editor/Core/Util/ExcelResolverUtil.TType.cs

@ -45,6 +45,7 @@ namespace Tools.ExcelResolver.Editor
_currentCell = cell ?? _currentCell; _currentCell = cell ?? _currentCell;
_currentClassName = className ?? _currentClassName; _currentClassName = className ?? _currentClassName;
_allTTypes ??= GetAllTTypes(); _allTTypes ??= GetAllTTypes();
targetText = targetText.Trim();
foreach (var tType in _allTTypes) foreach (var tType in _allTTypes)
{ {

BIN
Assets/_Project/ExcelResolver/Excel/hero.xlsx

Binary file not shown.

56
Assets/_Project/ScriptableObject/Excel/Hero_1.asset

@ -21,20 +21,14 @@ MonoBehaviour:
PrefabModificationsReferencedUnityObjects: [] PrefabModificationsReferencedUnityObjects: []
PrefabModifications: [] PrefabModifications: []
SerializationNodes: SerializationNodes:
- Name: attribute - Name: nihao
Entry: 7 Entry: 7
Data: 0|System.Collections.Generic.Dictionary`2[[Tools.ExcelResolver.Attribute, Data: 0|System.Collections.Generic.Dictionary`2[[System.Int32, mscorlib],[System.Single,
Assembly-CSharp],[System.Int32, mscorlib]], mscorlib mscorlib]], mscorlib
- Name: comparer - Name: comparer
Entry: 7 Entry: 7
Data: 1|System.Collections.Generic.EnumEqualityComparer`1[[Tools.ExcelResolver.Attribute, Data: 1|System.Collections.Generic.GenericEqualityComparer`1[[System.Int32,
Assembly-CSharp]], mscorlib mscorlib]], mscorlib
- Name:
Entry: 12
Data: 0
- Name:
Entry: 13
Data:
- Name: - Name:
Entry: 8 Entry: 8
Data: Data:
@ -46,10 +40,10 @@ MonoBehaviour:
Data: Data:
- Name: $k - Name: $k
Entry: 3 Entry: 3
Data: 0 Data: 2
- Name: $v - Name: $v
Entry: 3 Entry: 4
Data: 500 Data: 2.3
- Name: - Name:
Entry: 8 Entry: 8
Data: Data:
@ -58,10 +52,10 @@ MonoBehaviour:
Data: Data:
- Name: $k - Name: $k
Entry: 3 Entry: 3
Data: 1 Data: 5
- Name: $v - Name: $v
Entry: 3 Entry: 4
Data: 300 Data: 4.6
- Name: - Name:
Entry: 8 Entry: 8
Data: Data:
@ -71,14 +65,20 @@ MonoBehaviour:
- Name: - Name:
Entry: 8 Entry: 8
Data: Data:
- Name: nihao - Name: attribute
Entry: 7 Entry: 7
Data: 2|System.Collections.Generic.Dictionary`2[[System.Int32, mscorlib],[System.Single, Data: 2|System.Collections.Generic.Dictionary`2[[Tools.ExcelResolver.Attribute,
mscorlib]], mscorlib Assembly-CSharp],[System.Int32, mscorlib]], mscorlib
- Name: comparer - Name: comparer
Entry: 7 Entry: 7
Data: 3|System.Collections.Generic.GenericEqualityComparer`1[[System.Int32, Data: 3|System.Collections.Generic.EnumEqualityComparer`1[[Tools.ExcelResolver.Attribute,
mscorlib]], mscorlib Assembly-CSharp]], mscorlib
- Name:
Entry: 12
Data: 0
- Name:
Entry: 13
Data:
- Name: - Name:
Entry: 8 Entry: 8
Data: Data:
@ -90,10 +90,10 @@ MonoBehaviour:
Data: Data:
- Name: $k - Name: $k
Entry: 3 Entry: 3
Data: 2 Data: 0
- Name: $v - Name: $v
Entry: 4 Entry: 3
Data: 2.3 Data: 500
- Name: - Name:
Entry: 8 Entry: 8
Data: Data:
@ -102,10 +102,10 @@ MonoBehaviour:
Data: Data:
- Name: $k - Name: $k
Entry: 3 Entry: 3
Data: 5 Data: 1
- Name: $v - Name: $v
Entry: 4 Entry: 3
Data: 4.6 Data: 300
- Name: - Name:
Entry: 8 Entry: 8
Data: Data:

32
Assets/_Project/ScriptableObject/Excel/Hero_2.asset

@ -21,20 +21,14 @@ MonoBehaviour:
PrefabModificationsReferencedUnityObjects: [] PrefabModificationsReferencedUnityObjects: []
PrefabModifications: [] PrefabModifications: []
SerializationNodes: SerializationNodes:
- Name: attribute - Name: nihao
Entry: 7 Entry: 7
Data: 0|System.Collections.Generic.Dictionary`2[[Tools.ExcelResolver.Attribute, Data: 0|System.Collections.Generic.Dictionary`2[[System.Int32, mscorlib],[System.Single,
Assembly-CSharp],[System.Int32, mscorlib]], mscorlib mscorlib]], mscorlib
- Name: comparer - Name: comparer
Entry: 7 Entry: 7
Data: 1|System.Collections.Generic.EnumEqualityComparer`1[[Tools.ExcelResolver.Attribute, Data: 1|System.Collections.Generic.GenericEqualityComparer`1[[System.Int32,
Assembly-CSharp]], mscorlib mscorlib]], mscorlib
- Name:
Entry: 12
Data: 0
- Name:
Entry: 13
Data:
- Name: - Name:
Entry: 8 Entry: 8
Data: Data:
@ -47,14 +41,20 @@ MonoBehaviour:
- Name: - Name:
Entry: 8 Entry: 8
Data: Data:
- Name: nihao - Name: attribute
Entry: 7 Entry: 7
Data: 2|System.Collections.Generic.Dictionary`2[[System.Int32, mscorlib],[System.Single, Data: 2|System.Collections.Generic.Dictionary`2[[Tools.ExcelResolver.Attribute,
mscorlib]], mscorlib Assembly-CSharp],[System.Int32, mscorlib]], mscorlib
- Name: comparer - Name: comparer
Entry: 7 Entry: 7
Data: 3|System.Collections.Generic.GenericEqualityComparer`1[[System.Int32, Data: 3|System.Collections.Generic.EnumEqualityComparer`1[[Tools.ExcelResolver.Attribute,
mscorlib]], mscorlib Assembly-CSharp]], mscorlib
- Name:
Entry: 12
Data: 0
- Name:
Entry: 13
Data:
- Name: - Name:
Entry: 8 Entry: 8
Data: Data:

44
Assets/_Project/ScriptableObject/Excel/Hero_3.asset

@ -21,13 +21,33 @@ MonoBehaviour:
PrefabModificationsReferencedUnityObjects: [] PrefabModificationsReferencedUnityObjects: []
PrefabModifications: [] PrefabModifications: []
SerializationNodes: 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 - Name: attribute
Entry: 7 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 Assembly-CSharp],[System.Int32, mscorlib]], mscorlib
- Name: comparer - Name: comparer
Entry: 7 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 Assembly-CSharp]], mscorlib
- Name: - Name:
Entry: 12 Entry: 12
@ -59,26 +79,6 @@ MonoBehaviour:
- Name: - Name:
Entry: 8 Entry: 8
Data: 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 id: 2
name: "\u5973\u5DEB" name: "\u5973\u5DEB"
icon: hero_3 icon: hero_3

8
Assets/_Project/Scripts/Generator/Excel/Hero.cs

@ -71,14 +71,14 @@ namespace Tools.ExcelResolver
public List<Vector2> attack_target; public List<Vector2> attack_target;
/// <summary> /// <summary>
/// /// 你好
/// </summary> /// </summary>
public Dictionary<Attribute, Int32> attribute; public Dictionary<Int32, Single> nihao;
/// <summary> /// <summary>
/// 你好 ///
/// </summary> /// </summary>
public Dictionary<Int32, Single> nihao; public Dictionary<Attribute, Int32> attribute;
/// <summary> /// <summary>
/// ///

Loading…
Cancel
Save