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