From e965c423b0f3fd7a8d2c0c411f09fc61801b214b Mon Sep 17 00:00:00 2001 From: coffee <985942825@qq.com> Date: Sat, 25 Jan 2025 16:09:54 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=95=B4=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/ScriptableObject/Excel/Hero_2.asset | 1 + Assets/ScriptableObject/Excel/Hero_3.asset | 1 + .../ExcelResolver/Editor/Core/Types/TFloat.cs | 4 +-- .../ExcelResolver/Editor/Core/Types/TInt.cs | 5 ++-- .../ExcelResolver/Editor/Core/Types/TList.cs | 2 +- .../Editor/Core/Types/TString.cs | 5 ++-- .../ExcelResolver/Editor/Core/Types/TType.cs | 13 +++++++++ .../Editor/Core/Types/TVector2.cs | 5 ++-- .../Editor/Core/Types/TVector3.cs | 5 ++-- .../Core/Util/ExcelResolverUtil.TType.cs | 28 ------------------- 10 files changed, 26 insertions(+), 43 deletions(-) diff --git a/Assets/ScriptableObject/Excel/Hero_2.asset b/Assets/ScriptableObject/Excel/Hero_2.asset index b734157..462723a 100644 --- a/Assets/ScriptableObject/Excel/Hero_2.asset +++ b/Assets/ScriptableObject/Excel/Hero_2.asset @@ -21,3 +21,4 @@ MonoBehaviour: speed: 0 pos: {x: 0, y: 0, z: 0} ches: {x: 0, y: 0} + attack_target: diff --git a/Assets/ScriptableObject/Excel/Hero_3.asset b/Assets/ScriptableObject/Excel/Hero_3.asset index a037b53..e59e65f 100644 --- a/Assets/ScriptableObject/Excel/Hero_3.asset +++ b/Assets/ScriptableObject/Excel/Hero_3.asset @@ -21,3 +21,4 @@ MonoBehaviour: speed: 1.1 pos: {x: 3, y: 2, z: 4} ches: {x: 5, y: 12} + attack_target: 02000000 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 e1ce7c7..0496dfc 100644 --- a/Assets/Unity-Tools/Core/ExcelResolver/Editor/Core/Types/TFloat.cs +++ b/Assets/Unity-Tools/Core/ExcelResolver/Editor/Core/Types/TFloat.cs @@ -4,15 +4,15 @@ namespace Tools.ExcelResolver.Editor { internal class TFloat : TType { - internal override string FieldWriteFormat => "System.Single"; + internal override Type RealType => typeof(float); internal override object DefaultValue => 0.0f; + internal override string FieldWriteFormat => "System.Single"; internal override bool String2TType(string typeText) { return string.Equals(typeText, "float", StringComparison.OrdinalIgnoreCase); } - internal override Type RealType => typeof(float); internal override object TryParseFrom(string cellText) { 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 aee0ca3..aa13394 100644 --- a/Assets/Unity-Tools/Core/ExcelResolver/Editor/Core/Types/TInt.cs +++ b/Assets/Unity-Tools/Core/ExcelResolver/Editor/Core/Types/TInt.cs @@ -4,16 +4,15 @@ namespace Tools.ExcelResolver.Editor { internal class TInt : TType { - internal override string FieldWriteFormat => "System.Int32"; + internal override Type RealType => typeof(int); internal override object DefaultValue => 0; + internal override string FieldWriteFormat => "System.Int32"; internal override bool String2TType(string typeText) { return string.Equals(typeText, "int", StringComparison.OrdinalIgnoreCase); } - internal override Type RealType => typeof(int); - internal override object TryParseFrom(string cellText) { return int.TryParse(cellText, out var result) ? result : null; 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 18f3c74..753de1b 100644 --- a/Assets/Unity-Tools/Core/ExcelResolver/Editor/Core/Types/TList.cs +++ b/Assets/Unity-Tools/Core/ExcelResolver/Editor/Core/Types/TList.cs @@ -5,6 +5,7 @@ namespace Tools.ExcelResolver.Editor { internal class TList : TType { + internal override Type RealType => typeof(List); internal override string FieldWriteFormat => "List"; internal override object DefaultValue => new List(); @@ -24,7 +25,6 @@ namespace Tools.ExcelResolver.Editor return true; } - internal override Type RealType => typeof(List); internal override object TryParseFrom(string cellText) { var split = cellText.Split('|'); 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 6596aa9..5244d54 100644 --- a/Assets/Unity-Tools/Core/ExcelResolver/Editor/Core/Types/TString.cs +++ b/Assets/Unity-Tools/Core/ExcelResolver/Editor/Core/Types/TString.cs @@ -4,16 +4,15 @@ namespace Tools.ExcelResolver.Editor { internal class TString : TType { - internal override string FieldWriteFormat => "System.string"; + internal override Type RealType => typeof(string); internal override object DefaultValue => string.Empty; + internal override string FieldWriteFormat => "System.string"; internal override bool String2TType(string typeText) { return string.Equals(typeText, "string", StringComparison.OrdinalIgnoreCase); } - internal override Type RealType => typeof(string); - internal override object TryParseFrom(string cellText) { return cellText; 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 a3dbb3b..0f51083 100644 --- a/Assets/Unity-Tools/Core/ExcelResolver/Editor/Core/Types/TType.cs +++ b/Assets/Unity-Tools/Core/ExcelResolver/Editor/Core/Types/TType.cs @@ -8,10 +8,23 @@ namespace Tools.ExcelResolver.Editor internal abstract object DefaultValue { get; } + /// + /// 类型的写入格式 + /// internal abstract string FieldWriteFormat { get; } + /// + /// 通过字符串判断是否是当前类型 + /// + /// + /// internal abstract bool String2TType(string typeText); + /// + /// 将字符串转换为当前类型 + /// + /// + /// internal abstract object TryParseFrom(string cellText); } } \ No newline at end of file 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 d7301c3..f658f2f 100644 --- a/Assets/Unity-Tools/Core/ExcelResolver/Editor/Core/Types/TVector2.cs +++ b/Assets/Unity-Tools/Core/ExcelResolver/Editor/Core/Types/TVector2.cs @@ -5,16 +5,15 @@ namespace Tools.ExcelResolver.Editor { internal class TVector2 : TType { - internal override string FieldWriteFormat => "Vector2"; + internal override Type RealType => typeof(Vector2); internal override object DefaultValue => Vector2.zero; + internal override string FieldWriteFormat => "Vector2"; internal override bool String2TType(string typeText) { return string.Equals(typeText, "vector2", StringComparison.OrdinalIgnoreCase); } - internal override Type RealType => typeof(Vector2); - internal override object TryParseFrom(string cellText) { cellText = cellText[1..^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 db4c77c..829fba0 100644 --- a/Assets/Unity-Tools/Core/ExcelResolver/Editor/Core/Types/TVector3.cs +++ b/Assets/Unity-Tools/Core/ExcelResolver/Editor/Core/Types/TVector3.cs @@ -5,16 +5,15 @@ namespace Tools.ExcelResolver.Editor { internal class TVector3 : TType { - internal override string FieldWriteFormat => "Vector3"; + internal override Type RealType => typeof(Vector3); internal override object DefaultValue => Vector3.zero; + internal override string FieldWriteFormat => "Vector3"; internal override bool String2TType(string typeText) { return string.Equals(typeText, "vector3", StringComparison.OrdinalIgnoreCase); } - internal override Type RealType => typeof(Vector3); - internal override object TryParseFrom(string cellText) { if (!cellText.StartsWith("(") || !cellText.EndsWith(")")) diff --git a/Assets/Unity-Tools/Core/ExcelResolver/Editor/Core/Util/ExcelResolverUtil.TType.cs b/Assets/Unity-Tools/Core/ExcelResolver/Editor/Core/Util/ExcelResolverUtil.TType.cs index 9fbdd0f..d945961 100644 --- a/Assets/Unity-Tools/Core/ExcelResolver/Editor/Core/Util/ExcelResolverUtil.TType.cs +++ b/Assets/Unity-Tools/Core/ExcelResolver/Editor/Core/Util/ExcelResolverUtil.TType.cs @@ -37,34 +37,6 @@ namespace Tools.ExcelResolver.Editor } throw new Exception($"未找到类型 {typeText}"); - - return typeText switch - { - "int" => new TInt(), - "float" => new TFloat(), - "string" => new TString(), - "bool" => new TBool(), - "vector2" => new TVector2(), - "vector3" => new TVector3(), - - // "List" => typeof(List), - // "List" => typeof(List), - // "List" => typeof(List), - // "List" => typeof(List), - // "List" => typeof(List), - // "List" => typeof(List), - // - // "List>" => typeof(List>), - // "List>" => typeof(List>), - // "List>" => typeof(List>), - // "List>" => typeof(List>), - // "List>" => typeof(List>), - // "List>" => typeof(List>), - // - // "enum" => typeof(Enum), - // "DateTime" => typeof(DateTime), - _ => null, - }; } } } \ No newline at end of file