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)
{
return string.Equals(typeText.Trim(), "bool", StringComparison.OrdinalIgnoreCase);
return string.Equals(typeText, "bool", StringComparison.OrdinalIgnoreCase);
}
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)
{
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)
{

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

2
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)

2
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));

2
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)

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

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

2
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)

1
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)
{

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: []
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:

32
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:

44
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

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

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

Loading…
Cancel
Save