diff --git a/Assets/ExcelResolver/Excel/hero.xlsx b/Assets/ExcelResolver/Excel/hero.xlsx
index 8e14bce..ca6fb04 100644
Binary files a/Assets/ExcelResolver/Excel/hero.xlsx and b/Assets/ExcelResolver/Excel/hero.xlsx differ
diff --git a/Assets/ScriptableObject/Excel/Hero_1.asset b/Assets/ScriptableObject/Excel/Hero_1.asset
index 168d7a2..02be0de 100644
--- a/Assets/ScriptableObject/Excel/Hero_1.asset
+++ b/Assets/ScriptableObject/Excel/Hero_1.asset
@@ -15,6 +15,7 @@ MonoBehaviour:
id: 1
name: "\u9053\u58EB"
icon: hero_1
+ has: 0
hp: 100
atk: 20
speed: 1.2
diff --git a/Assets/ScriptableObject/Excel/Hero_2.asset b/Assets/ScriptableObject/Excel/Hero_2.asset
index 34540a2..124729f 100644
--- a/Assets/ScriptableObject/Excel/Hero_2.asset
+++ b/Assets/ScriptableObject/Excel/Hero_2.asset
@@ -15,6 +15,7 @@ MonoBehaviour:
id: 2
name: "\u6218\u58EB"
icon: hero_2
+ has: 1
hp: 150
atk: 15
speed: 1
diff --git a/Assets/ScriptableObject/Excel/Hero_3.asset b/Assets/ScriptableObject/Excel/Hero_3.asset
index e3dbac6..a037b53 100644
--- a/Assets/ScriptableObject/Excel/Hero_3.asset
+++ b/Assets/ScriptableObject/Excel/Hero_3.asset
@@ -15,6 +15,7 @@ MonoBehaviour:
id: 2
name: "\u5973\u5DEB"
icon: hero_3
+ has: 0
hp: 80
atk: 8
speed: 1.1
diff --git a/Assets/Scripts/Generator/Excel/Hero.cs b/Assets/Scripts/Generator/Excel/Hero.cs
index 0f66105..2617962 100644
--- a/Assets/Scripts/Generator/Excel/Hero.cs
+++ b/Assets/Scripts/Generator/Excel/Hero.cs
@@ -34,6 +34,11 @@ namespace Tools.ExcelResolver
///
public string icon;
+ ///
+ /// 有宠物
+ ///
+ public bool has;
+
///
/// 血量
///
@@ -52,11 +57,11 @@ namespace Tools.ExcelResolver
///
/// 位置
///
- public UnityEngine.Vector3 pos;
+ public Vector3 pos;
///
/// 位置
///
- public UnityEngine.Vector2 ches;
+ public Vector2 ches;
}
}
diff --git a/Assets/Unity-Tools/Core/ExcelResolver/Editor/Core/Data/FieldData.cs b/Assets/Unity-Tools/Core/ExcelResolver/Editor/Core/Data/FieldData.cs
index 4538110..28dce6e 100644
--- a/Assets/Unity-Tools/Core/ExcelResolver/Editor/Core/Data/FieldData.cs
+++ b/Assets/Unity-Tools/Core/ExcelResolver/Editor/Core/Data/FieldData.cs
@@ -21,7 +21,7 @@ namespace Tools.ExcelResolver.Editor
{
Attributes = MemberAttributes.Public,
Name = varName,
- Type = new CodeTypeReference(type.RealType),
+ Type = new CodeTypeReference(type.FieldWriteFormat),
Comments =
{
new CodeCommentStatement("", true),
diff --git a/Assets/Unity-Tools/Core/ExcelResolver/Editor/Core/Types/TBool.cs b/Assets/Unity-Tools/Core/ExcelResolver/Editor/Core/Types/TBool.cs
index 2cf388c..32298f1 100644
--- a/Assets/Unity-Tools/Core/ExcelResolver/Editor/Core/Types/TBool.cs
+++ b/Assets/Unity-Tools/Core/ExcelResolver/Editor/Core/Types/TBool.cs
@@ -4,11 +4,11 @@ namespace Tools.ExcelResolver.Editor
{
internal class TBool : TType
{
- internal override string TypeName => "bool";
+ internal override string FieldWriteFormat => "System.Boolean";
internal override bool String2TType(string typeText)
{
- return string.Equals(typeText, TypeName, StringComparison.OrdinalIgnoreCase);
+ return string.Equals(typeText, "bool", StringComparison.OrdinalIgnoreCase);
}
internal override Type RealType => typeof(bool);
@@ -19,6 +19,12 @@ namespace Tools.ExcelResolver.Editor
{
return result;
}
+
+ if (cellText is "1")
+ {
+ return true;
+ }
+
return null;
}
}
diff --git a/Assets/Unity-Tools/Core/ExcelResolver/Editor/Core/Types/TFloat.cs b/Assets/Unity-Tools/Core/ExcelResolver/Editor/Core/Types/TFloat.cs
index 9ac8087..315e7c6 100644
--- a/Assets/Unity-Tools/Core/ExcelResolver/Editor/Core/Types/TFloat.cs
+++ b/Assets/Unity-Tools/Core/ExcelResolver/Editor/Core/Types/TFloat.cs
@@ -4,11 +4,11 @@ namespace Tools.ExcelResolver.Editor
{
internal class TFloat : TType
{
- internal override string TypeName => "float";
+ internal override string FieldWriteFormat => "System.Single";
internal override bool String2TType(string typeText)
{
- return string.Equals(typeText, TypeName, StringComparison.OrdinalIgnoreCase);
+ return string.Equals(typeText, "float", StringComparison.OrdinalIgnoreCase);
}
internal override Type RealType => typeof(float);
diff --git a/Assets/Unity-Tools/Core/ExcelResolver/Editor/Core/Types/TInt.cs b/Assets/Unity-Tools/Core/ExcelResolver/Editor/Core/Types/TInt.cs
index 2d2859b..a18d66b 100644
--- a/Assets/Unity-Tools/Core/ExcelResolver/Editor/Core/Types/TInt.cs
+++ b/Assets/Unity-Tools/Core/ExcelResolver/Editor/Core/Types/TInt.cs
@@ -4,11 +4,11 @@ namespace Tools.ExcelResolver.Editor
{
internal class TInt : TType
{
- internal override string TypeName => "int";
+ internal override string FieldWriteFormat => "System.Int32";
internal override bool String2TType(string typeText)
{
- return string.Equals(typeText, TypeName, StringComparison.OrdinalIgnoreCase);
+ return string.Equals(typeText, "int", StringComparison.OrdinalIgnoreCase);
}
internal override Type RealType => typeof(int);
diff --git a/Assets/Unity-Tools/Core/ExcelResolver/Editor/Core/Types/TList.cs b/Assets/Unity-Tools/Core/ExcelResolver/Editor/Core/Types/TList.cs
index 59161d0..0dee360 100644
--- a/Assets/Unity-Tools/Core/ExcelResolver/Editor/Core/Types/TList.cs
+++ b/Assets/Unity-Tools/Core/ExcelResolver/Editor/Core/Types/TList.cs
@@ -5,13 +5,25 @@ namespace Tools.ExcelResolver.Editor
{
internal class TList : TType
{
- internal override string TypeName => "list";
+ internal override string FieldWriteFormat => "List";
+
internal override bool String2TType(string typeText)
{
- return false;
+ var split = typeText.Split('|');
+ if (split.Length != 2)
+ {
+ return false;
+ }
+
+ if (!string.Equals(split[0], "list", StringComparison.OrdinalIgnoreCase) || !string.Equals(split[1], "int", StringComparison.OrdinalIgnoreCase))
+ {
+ return false;
+ }
+
+ return true;
}
- internal override Type RealType => typeof(List<>);
+ internal override Type RealType => typeof(List);
internal override object TryParseFrom(string cellText)
{
return null;
diff --git a/Assets/Unity-Tools/Core/ExcelResolver/Editor/Core/Types/TString.cs b/Assets/Unity-Tools/Core/ExcelResolver/Editor/Core/Types/TString.cs
index 9ae9782..671d717 100644
--- a/Assets/Unity-Tools/Core/ExcelResolver/Editor/Core/Types/TString.cs
+++ b/Assets/Unity-Tools/Core/ExcelResolver/Editor/Core/Types/TString.cs
@@ -4,11 +4,11 @@ namespace Tools.ExcelResolver.Editor
{
internal class TString : TType
{
- internal override string TypeName => "string";
+ internal override string FieldWriteFormat => "System.string";
internal override bool String2TType(string typeText)
{
- return string.Equals(typeText, TypeName, StringComparison.OrdinalIgnoreCase);
+ return string.Equals(typeText, "string", StringComparison.OrdinalIgnoreCase);
}
internal override Type RealType => typeof(string);
diff --git a/Assets/Unity-Tools/Core/ExcelResolver/Editor/Core/Types/TType.cs b/Assets/Unity-Tools/Core/ExcelResolver/Editor/Core/Types/TType.cs
index e37a1da..00c0668 100644
--- a/Assets/Unity-Tools/Core/ExcelResolver/Editor/Core/Types/TType.cs
+++ b/Assets/Unity-Tools/Core/ExcelResolver/Editor/Core/Types/TType.cs
@@ -4,7 +4,7 @@ namespace Tools.ExcelResolver.Editor
{
internal abstract class TType
{
- internal abstract string TypeName { get; }
+ internal abstract string FieldWriteFormat { get; }
internal abstract bool String2TType(string typeText);
diff --git a/Assets/Unity-Tools/Core/ExcelResolver/Editor/Core/Types/TVector2.cs b/Assets/Unity-Tools/Core/ExcelResolver/Editor/Core/Types/TVector2.cs
index e672194..758f139 100644
--- a/Assets/Unity-Tools/Core/ExcelResolver/Editor/Core/Types/TVector2.cs
+++ b/Assets/Unity-Tools/Core/ExcelResolver/Editor/Core/Types/TVector2.cs
@@ -5,11 +5,11 @@ namespace Tools.ExcelResolver.Editor
{
internal class TVector2 : TType
{
- internal override string TypeName => "vector2";
+ internal override string FieldWriteFormat => "Vector2";
internal override bool String2TType(string typeText)
{
- return string.Equals(typeText, TypeName, StringComparison.OrdinalIgnoreCase);
+ return string.Equals(typeText, "vector2", StringComparison.OrdinalIgnoreCase);
}
internal override Type RealType => typeof(Vector2);
@@ -17,14 +17,14 @@ namespace Tools.ExcelResolver.Editor
internal override object TryParseFrom(string cellText)
{
cellText = cellText[1..^1];
- var ss = cellText.Split(',');
- if (ss.Length != 2)
+ var split = cellText.Split(',');
+ if (split.Length != 2)
{
return null;
}
else
{
- return new Vector2(float.Parse(ss[0]), float.Parse(ss[1]));
+ return new Vector2(float.Parse(split[0]), float.Parse(split[1]));
}
}
}
diff --git a/Assets/Unity-Tools/Core/ExcelResolver/Editor/Core/Types/TVector3.cs b/Assets/Unity-Tools/Core/ExcelResolver/Editor/Core/Types/TVector3.cs
index 2e6b386..d969091 100644
--- a/Assets/Unity-Tools/Core/ExcelResolver/Editor/Core/Types/TVector3.cs
+++ b/Assets/Unity-Tools/Core/ExcelResolver/Editor/Core/Types/TVector3.cs
@@ -5,11 +5,11 @@ namespace Tools.ExcelResolver.Editor
{
internal class TVector3 : TType
{
- internal override string TypeName => "vector3";
+ internal override string FieldWriteFormat => "Vector3";
internal override bool String2TType(string typeText)
{
- return string.Equals(typeText, TypeName, StringComparison.OrdinalIgnoreCase);
+ return string.Equals(typeText, "vector3", StringComparison.OrdinalIgnoreCase);
}
internal override Type RealType => typeof(Vector3);
@@ -22,14 +22,14 @@ namespace Tools.ExcelResolver.Editor
}
cellText = cellText[1..^1];
- var ss = cellText.Split(',');
- if (ss.Length != 3)
+ var split = cellText.Split(',');
+ if (split.Length != 3)
{
return null;
}
else
{
- return new Vector3(float.Parse(ss[0]), float.Parse(ss[1]), float.Parse(ss[2]));
+ return new Vector3(float.Parse(split[0]), float.Parse(split[1]), float.Parse(split[2]));
}
}
}