diff --git a/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TExcel.cs b/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TExcel.cs new file mode 100644 index 0000000..4746576 --- /dev/null +++ b/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TExcel.cs @@ -0,0 +1,31 @@ +using System; +using OfficeOpenXml; + +namespace Tools.ExcelResolver.Editor +{ + internal class TExcel : TType + { + public TExcel() { } + public TExcel(string typeText, Type classType) : base(typeText) + { + RealType = classType; + FieldWriteFormat = RealType.Name; + } + internal override Type RealType { get; } + internal override string FieldWriteFormat { get; } + internal override object DefaultValue => null; + + internal override bool String2TType(string typeText, out TType result) + { + result = null; + return false; + } + + internal override object TryParseFrom(string cellText) + { + var path = $"{ExcelResolverEditorWindow.Instance.excelResolverConfig.SOPathRoot}/{FieldWriteFormat}/{FieldWriteFormat}_{cellText}.asset"; + var so = UnityEditor.AssetDatabase.LoadAssetAtPath(path, RealType); + return so; + } + } +} \ No newline at end of file diff --git a/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TExcel.cs.meta b/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TExcel.cs.meta new file mode 100644 index 0000000..d9e34c9 --- /dev/null +++ b/Assets/Unity-Tools/ExcelResolver/Editor/Core/Types/TExcel.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 7adf27c928ee4207b5e71ef2fafe6788 +timeCreated: 1739374254 \ No newline at end of file diff --git a/Assets/Unity-Tools/ExcelResolver/Editor/Core/Util/ExcelResolverUtil.TType.cs b/Assets/Unity-Tools/ExcelResolver/Editor/Core/Util/ExcelResolverUtil.TType.cs index 990d558..e81412c 100644 --- a/Assets/Unity-Tools/ExcelResolver/Editor/Core/Util/ExcelResolverUtil.TType.cs +++ b/Assets/Unity-Tools/ExcelResolver/Editor/Core/Util/ExcelResolverUtil.TType.cs @@ -1,4 +1,5 @@ using System; +using System.Collections.Generic; using System.Linq; using System.Reflection; using OfficeOpenXml; @@ -7,49 +8,64 @@ namespace Tools.ExcelResolver.Editor { internal static partial class ExcelResolverUtil { - private static TType[] _allTTypes; - private static Type[] _enumTypes; - private static Type[] _classAndStructTypes; + private static List _allTTypes; + private static List _enumTypes; + private static List _classAndStructTypes; + private static List _excelSODataTypes; + private static ExcelRange _currentCell; private static string _currentClassName; - internal static TType[] GetAllTTypes() - { - return Assembly.GetAssembly(typeof(TType)) - .GetTypes() - .Where(t => t.IsSubclassOf(typeof(TType)) && !t.IsAbstract) - .Select(t => Activator.CreateInstance(t) as TType) - .ToArray(); - } - - internal static Type[] GetAllEnumTypes() + private static bool _isInit; + + private static void Init() { - return AppDomain.CurrentDomain.GetAssemblies() - .Where(a => a.GetName().Name + if (_isInit) return; + _isInit = true; + _allTTypes = new List(); + _enumTypes = new List(); + _classAndStructTypes = new List(); + _excelSODataTypes = new List(); + + var tTypes = Assembly.GetAssembly(typeof(TType)).GetTypes(); // 直接获取TType所在的程序集Assembly-CSharp-Editor + foreach (var tType in tTypes) + { + if (tType.IsSubclassOf(typeof(TType)) && !tType.IsAbstract) + { + _allTTypes.Add(Activator.CreateInstance(tType) as TType); + } + } + + var types = AppDomain.CurrentDomain.GetAssemblies() + .First(a => a.GetName().Name // is "UnityEngine" is "Assembly-CSharp") // or "Assembly-CSharp-firstpass" // or "Assembly-CSharp-Editor" // or "Assembly-CSharp-Editor-firstpass") - .SelectMany(a => a.GetTypes()) - .Where(t => t.IsEnum && string.Equals(t.Namespace, "Tools.ExcelResolver", StringComparison.Ordinal)) - .ToArray(); - } - - internal static Type[] GetAllClassAndStruct() - { - return AppDomain.CurrentDomain.GetAssemblies() - .Where(a => a.GetName().Name - // is "UnityEngine" - is "Assembly-CSharp") - // or "Assembly-CSharp-firstpass" - // or "Assembly-CSharp-Editor" - // or "Assembly-CSharp-Editor-firstpass") - .SelectMany(a => a.GetTypes()) - .Where(t => (t.IsClass || (t.IsValueType && !t.IsPrimitive && !t.IsEnum)) // IsPrimitive为基本类型如float,int等 - && string.Equals(t.Namespace, "Tools.ExcelResolver", StringComparison.Ordinal) - && !typeof(IExcelSOUtil).IsAssignableFrom(t) && !typeof(IExcelSOData).IsAssignableFrom(t)) - .ToArray(); + .GetTypes().Where(t => string.Equals(t.Namespace, "Tools.ExcelResolver", StringComparison.Ordinal)); + foreach (var type in types) + { + if (type.IsEnum) + { + _enumTypes.Add(type); + } + else if (type.IsClass || (type.IsValueType && !type.IsPrimitive && !type.IsEnum)) // IsPrimitive为基本类型如float,int等 + { + if (typeof(IExcelSOData).IsAssignableFrom(type)) + { + _excelSODataTypes.Add(type); + } + else if (typeof(IExcelSOUtil).IsAssignableFrom(type)) + { + // do nothing + } + else + { + _classAndStructTypes.Add(type); + } + } + } } /// @@ -59,9 +75,10 @@ namespace Tools.ExcelResolver.Editor /// internal static TType GetTTypeByString(string targetText, ExcelRange cell = null, string className = null) { + Init(); _currentCell = cell ?? _currentCell; _currentClassName = className ?? _currentClassName; - _allTTypes ??= GetAllTTypes(); + targetText = targetText.Trim(); foreach (var tType in _allTTypes) @@ -72,7 +89,6 @@ namespace Tools.ExcelResolver.Editor } } - _enumTypes ??= GetAllEnumTypes(); foreach (var enumType in _enumTypes) { if (string.Equals(enumType.Name, targetText, StringComparison.OrdinalIgnoreCase)) @@ -81,7 +97,6 @@ namespace Tools.ExcelResolver.Editor } } - _classAndStructTypes ??= GetAllClassAndStruct(); foreach (var classAndStructType in _classAndStructTypes) { if (string.Equals(classAndStructType.Name, targetText, StringComparison.OrdinalIgnoreCase)) @@ -90,6 +105,14 @@ namespace Tools.ExcelResolver.Editor } } + foreach (var excelSODataType in _excelSODataTypes) + { + if (string.Equals(excelSODataType.Name, targetText, StringComparison.OrdinalIgnoreCase)) + { + return Activator.CreateInstance(typeof(TExcel), targetText, excelSODataType) as TType; + } + } + throw new Exception($"type定义错误 " + $"className: '{_currentClassName}' " + $"FullAddress: {_currentCell.FullAddress} " + diff --git a/Assets/Unity-Tools/ExcelResolver/Editor/Core/Util/ExcelResolverUtil.Type.cs b/Assets/Unity-Tools/ExcelResolver/Editor/Core/Util/ExcelResolverUtil.Type.cs index 0293e24..78cfe8b 100644 --- a/Assets/Unity-Tools/ExcelResolver/Editor/Core/Util/ExcelResolverUtil.Type.cs +++ b/Assets/Unity-Tools/ExcelResolver/Editor/Core/Util/ExcelResolverUtil.Type.cs @@ -79,7 +79,7 @@ namespace Tools.ExcelResolver.Editor internal static void Dispose() { TypeCache.Clear(); - foreach (var allTType in _allTTypes ?? Array.Empty()) + foreach (var allTType in _allTTypes ?? Enumerable.Empty()) { allTType.Dispose(); } diff --git a/Assets/Unity-Tools/ExcelResolver/Editor/ExcelResolverEditorWindow.ReadExcel.cs b/Assets/Unity-Tools/ExcelResolver/Editor/ExcelResolverEditorWindow.ReadExcel.cs index ef541ed..bbce36e 100644 --- a/Assets/Unity-Tools/ExcelResolver/Editor/ExcelResolverEditorWindow.ReadExcel.cs +++ b/Assets/Unity-Tools/ExcelResolver/Editor/ExcelResolverEditorWindow.ReadExcel.cs @@ -223,7 +223,7 @@ namespace Tools.ExcelResolver.Editor for (int col = 2; col <= worksheet.Dimension.End.Column; col++) { var varText = worksheet.Cells[2, col].Text; - if (string.IsNullOrEmpty(varText) || varText == "##") continue; + if (string.IsNullOrEmpty(varText) || worksheet.Cells[1, col].Text == "##") continue; FieldData fieldData = new FieldData { diff --git a/Assets/Unity-Tools/ExcelResolver/Editor/ExcelResolverEditorWindow.cs b/Assets/Unity-Tools/ExcelResolver/Editor/ExcelResolverEditorWindow.cs index a378c1d..d5d647f 100644 --- a/Assets/Unity-Tools/ExcelResolver/Editor/ExcelResolverEditorWindow.cs +++ b/Assets/Unity-Tools/ExcelResolver/Editor/ExcelResolverEditorWindow.cs @@ -12,8 +12,8 @@ namespace Tools.ExcelResolver.Editor { public sealed partial class ExcelResolverEditorWindow : OdinEditorWindow { - [SerializeField] private ExcelResolverEditorConfig excelResolverConfig; - + internal static ExcelResolverEditorWindow Instance { get; private set; } + [SerializeField] internal ExcelResolverEditorConfig excelResolverConfig; [ShowInInspector] private Dictionary classCodeDataDict; @@ -27,6 +27,7 @@ namespace Tools.ExcelResolver.Editor protected override void Initialize() { + Instance = this; if (excelResolverConfig == null) { string[] assetGuids = AssetDatabase.FindAssets($"ExcelResolverEditorConfig t:ExcelResolverEditorConfig"); diff --git a/Assets/_Project/ExcelResolver/Excel/##hero.xlsx b/Assets/_Project/ExcelResolver/Excel/##hero.xlsx deleted file mode 100644 index 01bf040..0000000 Binary files a/Assets/_Project/ExcelResolver/Excel/##hero.xlsx and /dev/null differ diff --git a/Assets/_Project/ExcelResolver/Excel/testExcel.xlsx b/Assets/_Project/ExcelResolver/Excel/Hero.xlsx similarity index 54% rename from Assets/_Project/ExcelResolver/Excel/testExcel.xlsx rename to Assets/_Project/ExcelResolver/Excel/Hero.xlsx index 2cf3fa6..65e4b3c 100644 Binary files a/Assets/_Project/ExcelResolver/Excel/testExcel.xlsx and b/Assets/_Project/ExcelResolver/Excel/Hero.xlsx differ diff --git a/Assets/_Project/ExcelResolver/Excel/testExcel.xlsx.meta b/Assets/_Project/ExcelResolver/Excel/Hero.xlsx.meta similarity index 100% rename from Assets/_Project/ExcelResolver/Excel/testExcel.xlsx.meta rename to Assets/_Project/ExcelResolver/Excel/Hero.xlsx.meta diff --git a/Assets/_Project/ExcelResolver/Excel/Pet.xlsx b/Assets/_Project/ExcelResolver/Excel/Pet.xlsx new file mode 100644 index 0000000..aca7e72 Binary files /dev/null and b/Assets/_Project/ExcelResolver/Excel/Pet.xlsx differ diff --git a/Assets/_Project/ExcelResolver/Excel/##hero.xlsx.meta b/Assets/_Project/ExcelResolver/Excel/Pet.xlsx.meta similarity index 74% rename from Assets/_Project/ExcelResolver/Excel/##hero.xlsx.meta rename to Assets/_Project/ExcelResolver/Excel/Pet.xlsx.meta index dd932c3..f358625 100644 --- a/Assets/_Project/ExcelResolver/Excel/##hero.xlsx.meta +++ b/Assets/_Project/ExcelResolver/Excel/Pet.xlsx.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: d158d305a64ac74428b71f7a8f6ae16c +guid: c34cba1a45d61ab4ebe6c0dffbd44be3 DefaultImporter: externalObjects: {} userData: diff --git a/Assets/_Project/ScriptableObject/Excel/testExcel.meta b/Assets/_Project/ScriptableObject/Excel/Hero.meta similarity index 77% rename from Assets/_Project/ScriptableObject/Excel/testExcel.meta rename to Assets/_Project/ScriptableObject/Excel/Hero.meta index b036690..8d6d66e 100644 --- a/Assets/_Project/ScriptableObject/Excel/testExcel.meta +++ b/Assets/_Project/ScriptableObject/Excel/Hero.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: e5c0e3f65d74bde49a58ac6713bd2d2c +guid: 1efddd263be56e042862c0687b477f7d folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/_Project/ScriptableObject/Excel/testExcel/testExcel_6.asset b/Assets/_Project/ScriptableObject/Excel/Hero/Hero_1.asset similarity index 85% rename from Assets/_Project/ScriptableObject/Excel/testExcel/testExcel_6.asset rename to Assets/_Project/ScriptableObject/Excel/Hero/Hero_1.asset index e1130c5..b478281 100644 --- a/Assets/_Project/ScriptableObject/Excel/testExcel/testExcel_6.asset +++ b/Assets/_Project/ScriptableObject/Excel/Hero/Hero_1.asset @@ -9,8 +9,8 @@ MonoBehaviour: m_GameObject: {fileID: 0} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 83f98c6ff7089dc4ba08b80c69d1c01f, type: 3} - m_Name: testExcel_6 + m_Script: {fileID: 11500000, guid: 923ab6070481382408c6cae6284e8863, type: 3} + m_Name: Hero_1 m_EditorClassIdentifier: serializationData: SerializedFormat: 2 @@ -44,3 +44,4 @@ MonoBehaviour: - {x: 1001, y: 1002, z: 1003} - {x: 1002, y: 1003, z: 1002} icon: {fileID: 21300000, guid: bb675bdf01f86df4e833cfee142a8914, type: 3} + pet: {fileID: 11400000, guid: e467b358cf9ecf54f9b2590d0e514d84, type: 2} diff --git a/Assets/_Project/ScriptableObject/Excel/testExcel/_testExcelUtil.asset.meta b/Assets/_Project/ScriptableObject/Excel/Hero/Hero_1.asset.meta similarity index 79% rename from Assets/_Project/ScriptableObject/Excel/testExcel/_testExcelUtil.asset.meta rename to Assets/_Project/ScriptableObject/Excel/Hero/Hero_1.asset.meta index 7d89ecc..982e235 100644 --- a/Assets/_Project/ScriptableObject/Excel/testExcel/_testExcelUtil.asset.meta +++ b/Assets/_Project/ScriptableObject/Excel/Hero/Hero_1.asset.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 7eaf28151ff5fcd4a87ffbd6994825a0 +guid: 95d14bae9d1fbb0498fbe9baf74a1d09 NativeFormatImporter: externalObjects: {} mainObjectFileID: 11400000 diff --git a/Assets/_Project/ScriptableObject/Excel/Hero/_HeroUtil.asset b/Assets/_Project/ScriptableObject/Excel/Hero/_HeroUtil.asset new file mode 100644 index 0000000..db514f6 --- /dev/null +++ b/Assets/_Project/ScriptableObject/Excel/Hero/_HeroUtil.asset @@ -0,0 +1,56 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 62b3c489e7d803047a1ecff490b69951, type: 3} + m_Name: _HeroUtil + m_EditorClassIdentifier: + serializationData: + SerializedFormat: 2 + SerializedBytes: + ReferencedUnityObjects: + - {fileID: 11400000, guid: 95d14bae9d1fbb0498fbe9baf74a1d09, type: 2} + SerializedBytesString: + Prefab: {fileID: 0} + PrefabModificationsReferencedUnityObjects: [] + PrefabModifications: [] + SerializationNodes: + - Name: Data + Entry: 7 + Data: 0|System.Collections.Generic.Dictionary`2[[System.Int32, mscorlib],[Tools.ExcelResolver.Hero, + Assembly-CSharp]], mscorlib + - Name: comparer + Entry: 7 + Data: 1|System.Collections.Generic.GenericEqualityComparer`1[[System.Int32, + mscorlib]], mscorlib + - Name: + Entry: 8 + Data: + - Name: + Entry: 12 + Data: 1 + - Name: + Entry: 7 + Data: + - Name: $k + Entry: 3 + Data: 1 + - Name: $v + Entry: 10 + Data: 0 + - Name: + Entry: 8 + Data: + - Name: + Entry: 13 + Data: + - Name: + Entry: 8 + Data: diff --git a/Assets/_Project/ScriptableObject/Excel/testExcel/testExcel_6.asset.meta b/Assets/_Project/ScriptableObject/Excel/Hero/_HeroUtil.asset.meta similarity index 79% rename from Assets/_Project/ScriptableObject/Excel/testExcel/testExcel_6.asset.meta rename to Assets/_Project/ScriptableObject/Excel/Hero/_HeroUtil.asset.meta index 7eb09bd..9b76fc9 100644 --- a/Assets/_Project/ScriptableObject/Excel/testExcel/testExcel_6.asset.meta +++ b/Assets/_Project/ScriptableObject/Excel/Hero/_HeroUtil.asset.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 3bbf9021da858e346ad465fac30a4fcf +guid: f690e8a9ed7a6ba4b820723f62dd9dca NativeFormatImporter: externalObjects: {} mainObjectFileID: 11400000 diff --git a/Assets/_Project/ScriptableObject/Excel/Pet.meta b/Assets/_Project/ScriptableObject/Excel/Pet.meta new file mode 100644 index 0000000..27974f6 --- /dev/null +++ b/Assets/_Project/ScriptableObject/Excel/Pet.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9d73100d55f4eea4caa64830a497134f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Project/ScriptableObject/Excel/testExcel/_testExcelUtil.asset b/Assets/_Project/ScriptableObject/Excel/Pet/Pet_1.asset similarity index 74% rename from Assets/_Project/ScriptableObject/Excel/testExcel/_testExcelUtil.asset rename to Assets/_Project/ScriptableObject/Excel/Pet/Pet_1.asset index 95cb4e2..8ea627c 100644 --- a/Assets/_Project/ScriptableObject/Excel/testExcel/_testExcelUtil.asset +++ b/Assets/_Project/ScriptableObject/Excel/Pet/Pet_1.asset @@ -9,8 +9,8 @@ MonoBehaviour: m_GameObject: {fileID: 0} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: dfb34a928a8a0354da1a8e018712548f, type: 3} - m_Name: _testExcelUtil + m_Script: {fileID: 11500000, guid: 9022e9d3e95cff54faa7f22f0c316aee, type: 3} + m_Name: Pet_1 m_EditorClassIdentifier: serializationData: SerializedFormat: 2 @@ -21,5 +21,4 @@ MonoBehaviour: PrefabModificationsReferencedUnityObjects: [] PrefabModifications: [] SerializationNodes: [] - Data: - - {fileID: 11400000, guid: 3bbf9021da858e346ad465fac30a4fcf, type: 2} + id: 1 diff --git a/Assets/_Project/ScriptableObject/Excel/Pet/Pet_1.asset.meta b/Assets/_Project/ScriptableObject/Excel/Pet/Pet_1.asset.meta new file mode 100644 index 0000000..163464a --- /dev/null +++ b/Assets/_Project/ScriptableObject/Excel/Pet/Pet_1.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e467b358cf9ecf54f9b2590d0e514d84 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Project/ScriptableObject/Excel/Pet/_PetUtil.asset b/Assets/_Project/ScriptableObject/Excel/Pet/_PetUtil.asset new file mode 100644 index 0000000..d0d004a --- /dev/null +++ b/Assets/_Project/ScriptableObject/Excel/Pet/_PetUtil.asset @@ -0,0 +1,56 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dd0ef693880177f45a9004e73924b60a, type: 3} + m_Name: _PetUtil + m_EditorClassIdentifier: + serializationData: + SerializedFormat: 2 + SerializedBytes: + ReferencedUnityObjects: + - {fileID: 11400000, guid: e467b358cf9ecf54f9b2590d0e514d84, type: 2} + SerializedBytesString: + Prefab: {fileID: 0} + PrefabModificationsReferencedUnityObjects: [] + PrefabModifications: [] + SerializationNodes: + - Name: Data + Entry: 7 + Data: 0|System.Collections.Generic.Dictionary`2[[System.Int32, mscorlib],[Tools.ExcelResolver.Pet, + Assembly-CSharp]], mscorlib + - Name: comparer + Entry: 7 + Data: 1|System.Collections.Generic.GenericEqualityComparer`1[[System.Int32, + mscorlib]], mscorlib + - Name: + Entry: 8 + Data: + - Name: + Entry: 12 + Data: 1 + - Name: + Entry: 7 + Data: + - Name: $k + Entry: 3 + Data: 1 + - Name: $v + Entry: 10 + Data: 0 + - Name: + Entry: 8 + Data: + - Name: + Entry: 13 + Data: + - Name: + Entry: 8 + Data: diff --git a/Assets/_Project/ScriptableObject/Excel/Pet/_PetUtil.asset.meta b/Assets/_Project/ScriptableObject/Excel/Pet/_PetUtil.asset.meta new file mode 100644 index 0000000..f42976b --- /dev/null +++ b/Assets/_Project/ScriptableObject/Excel/Pet/_PetUtil.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e3a29f1b76728d64aaefb7c9c4e69390 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_Project/Scripts/Generator/Excel/testExcel.cs b/Assets/_Project/Scripts/Generator/Excel/Hero.cs similarity index 84% rename from Assets/_Project/Scripts/Generator/Excel/testExcel.cs rename to Assets/_Project/Scripts/Generator/Excel/Hero.cs index 3c9c19f..aba8083 100644 --- a/Assets/_Project/Scripts/Generator/Excel/testExcel.cs +++ b/Assets/_Project/Scripts/Generator/Excel/Hero.cs @@ -17,11 +17,11 @@ namespace Tools.ExcelResolver using Sirenix.OdinInspector; - public class testExcel : SerializedScriptableObject, IExcelSOData + public class Hero : SerializedScriptableObject, IExcelSOData { /// - /// 英雄 + /// 英雄id /// public int id; @@ -39,5 +39,10 @@ namespace Tools.ExcelResolver /// 头像 /// public Sprite icon; + + /// + /// 宠物 + /// + public Pet pet; } } diff --git a/Assets/_Project/Scripts/Generator/Excel/Hero.cs.meta b/Assets/_Project/Scripts/Generator/Excel/Hero.cs.meta new file mode 100644 index 0000000..ca12de9 --- /dev/null +++ b/Assets/_Project/Scripts/Generator/Excel/Hero.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 923ab6070481382408c6cae6284e8863 \ No newline at end of file diff --git a/Assets/_Project/Scripts/Generator/Excel/HeroUtil.cs b/Assets/_Project/Scripts/Generator/Excel/HeroUtil.cs new file mode 100644 index 0000000..a2b4b98 --- /dev/null +++ b/Assets/_Project/Scripts/Generator/Excel/HeroUtil.cs @@ -0,0 +1,25 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Tools.ExcelResolver +{ + using System; + using System.Collections; + using System.Collections.Generic; + using UnityEngine; + using Sirenix.OdinInspector; + + + public class HeroUtil : SerializedScriptableObject, IExcelSOUtil + { + + public Dictionary Data; + } +} diff --git a/Assets/_Project/Scripts/Generator/Excel/HeroUtil.cs.meta b/Assets/_Project/Scripts/Generator/Excel/HeroUtil.cs.meta new file mode 100644 index 0000000..4cce4d3 --- /dev/null +++ b/Assets/_Project/Scripts/Generator/Excel/HeroUtil.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 62b3c489e7d803047a1ecff490b69951 \ No newline at end of file diff --git a/Assets/_Project/Scripts/Generator/Excel/Pet.cs b/Assets/_Project/Scripts/Generator/Excel/Pet.cs new file mode 100644 index 0000000..16cec55 --- /dev/null +++ b/Assets/_Project/Scripts/Generator/Excel/Pet.cs @@ -0,0 +1,28 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Tools.ExcelResolver +{ + using System; + using System.Collections; + using System.Collections.Generic; + using UnityEngine; + using Sirenix.OdinInspector; + + + public class Pet : SerializedScriptableObject, IExcelSOData + { + + /// + /// 宠物id + /// + public int id; + } +} diff --git a/Assets/_Project/Scripts/Generator/Excel/Pet.cs.meta b/Assets/_Project/Scripts/Generator/Excel/Pet.cs.meta new file mode 100644 index 0000000..1b30666 --- /dev/null +++ b/Assets/_Project/Scripts/Generator/Excel/Pet.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 9022e9d3e95cff54faa7f22f0c316aee \ No newline at end of file diff --git a/Assets/_Project/Scripts/Generator/Excel/testExcelUtil.cs b/Assets/_Project/Scripts/Generator/Excel/PetUtil.cs similarity index 83% rename from Assets/_Project/Scripts/Generator/Excel/testExcelUtil.cs rename to Assets/_Project/Scripts/Generator/Excel/PetUtil.cs index 70716bd..db69d5b 100644 --- a/Assets/_Project/Scripts/Generator/Excel/testExcelUtil.cs +++ b/Assets/_Project/Scripts/Generator/Excel/PetUtil.cs @@ -17,9 +17,9 @@ namespace Tools.ExcelResolver using Sirenix.OdinInspector; - public class testExcelUtil : SerializedScriptableObject, IExcelSOUtil + public class PetUtil : SerializedScriptableObject, IExcelSOUtil { - public List Data; + public Dictionary Data; } } diff --git a/Assets/_Project/Scripts/Generator/Excel/PetUtil.cs.meta b/Assets/_Project/Scripts/Generator/Excel/PetUtil.cs.meta new file mode 100644 index 0000000..40abecd --- /dev/null +++ b/Assets/_Project/Scripts/Generator/Excel/PetUtil.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: dd0ef693880177f45a9004e73924b60a \ No newline at end of file diff --git a/Assets/_Project/Scripts/Generator/Excel/testExcel.cs.meta b/Assets/_Project/Scripts/Generator/Excel/testExcel.cs.meta deleted file mode 100644 index bbe96fe..0000000 --- a/Assets/_Project/Scripts/Generator/Excel/testExcel.cs.meta +++ /dev/null @@ -1,2 +0,0 @@ -fileFormatVersion: 2 -guid: 83f98c6ff7089dc4ba08b80c69d1c01f \ No newline at end of file diff --git a/Assets/_Project/Scripts/Generator/Excel/testExcelUtil.cs.meta b/Assets/_Project/Scripts/Generator/Excel/testExcelUtil.cs.meta deleted file mode 100644 index 305ccfc..0000000 --- a/Assets/_Project/Scripts/Generator/Excel/testExcelUtil.cs.meta +++ /dev/null @@ -1,2 +0,0 @@ -fileFormatVersion: 2 -guid: dfb34a928a8a0354da1a8e018712548f \ No newline at end of file