Browse Source

创建多键类

main
coffee 5 months ago
parent
commit
56cd42b268
  1. 25
      Assets/Unity-Tools/ExcelResolver/Editor/ExcelResolverEditorWindow.ReadExcel.cs
  2. 23
      Assets/Unity-Tools/ExcelResolver/Editor/ExcelResolverEditorWindow.WriteDataSO.cs
  3. BIN
      Assets/_Project/ExcelResolver/Excel/hero.xlsx
  4. BIN
      Assets/_Project/ExcelResolver/Excel/monster.xlsx
  5. 7
      Assets/_Project/ExcelResolver/Excel/monster.xlsx.meta
  6. 8
      Assets/_Project/ScriptableObject/Excel/Monster.meta
  7. 133
      Assets/_Project/ScriptableObject/Excel/Monster/Monster_1_.asset
  8. 8
      Assets/_Project/ScriptableObject/Excel/Monster/Monster_1_.asset.meta
  9. 81
      Assets/_Project/ScriptableObject/Excel/Monster/Monster_2_.asset
  10. 8
      Assets/_Project/ScriptableObject/Excel/Monster/Monster_2_.asset.meta
  11. 94
      Assets/_Project/ScriptableObject/Excel/Monster/Monster_3_.asset
  12. 8
      Assets/_Project/ScriptableObject/Excel/Monster/Monster_3_.asset.meta
  13. 133
      Assets/_Project/ScriptableObject/Excel/Monster/Monster_4_.asset
  14. 8
      Assets/_Project/ScriptableObject/Excel/Monster/Monster_4_.asset.meta
  15. 81
      Assets/_Project/ScriptableObject/Excel/Monster/Monster__.asset
  16. 8
      Assets/_Project/ScriptableObject/Excel/Monster/Monster__.asset.meta
  17. 23
      Assets/_Project/ScriptableObject/Excel/Monster/_MonsterUtil.asset
  18. 8
      Assets/_Project/ScriptableObject/Excel/Monster/_MonsterUtil.asset.meta
  19. 93
      Assets/_Project/Scripts/Generator/Excel/Monster.cs
  20. 2
      Assets/_Project/Scripts/Generator/Excel/Monster.cs.meta
  21. 23
      Assets/_Project/Scripts/Generator/Excel/MonsterUtil.cs
  22. 2
      Assets/_Project/Scripts/Generator/Excel/MonsterUtil.cs.meta

25
Assets/Unity-Tools/ExcelResolver/Editor/ExcelResolverEditorWindow.ReadExcel.cs

@ -50,7 +50,7 @@ namespace Tools.ExcelResolver.Editor
var classCodeData = new ClassCodeData(excelFile.Name[..^5]);
classCodeData.fields = GetFieldData(worksheet, classCodeData);
classCodeData.tableType = CheckTableType(worksheet, classCodeData);
classCodeData.tableType = CheckTableTypeAndSetKeyField(worksheet, classCodeData);
WriteDataCode(classCodeData);
WriteSOCode(classCodeData);
@ -96,7 +96,7 @@ namespace Tools.ExcelResolver.Editor
}
}
private static TableType CheckTableType(ExcelWorksheet worksheet, ClassCodeData classCodeData)
private static TableType CheckTableTypeAndSetKeyField(ExcelWorksheet worksheet, ClassCodeData classCodeData)
{
var tableType = TableType.SingleKeyTable;
@ -108,8 +108,9 @@ namespace Tools.ExcelResolver.Editor
var configs = config.Split("|");
Assert.IsTrue(configs.Length >= 2, $"'{classCodeData.className}'配置错误,SingleKeyTable只能有一个主键");
var key = configs[1];
classCodeData.keyField = classCodeData.fields.Where(f => f.Value.varName == key).Select(p => p.Value).ToArray();
Assert.IsTrue(classCodeData.keyField.Length == 1, $"'{classCodeData.className}'配置错误,主键字段不存在或重复");
classCodeData.keyField = new FieldData[] { classCodeData.fields.FirstOrDefault(f => f.Value.varName == key).Value };
Assert.IsTrue(classCodeData.keyField[0] != null, $"'{classCodeData.className}'配置错误,主键字段不存在或重复");
// 判断主键是否有重复值
var keyDict = ExcelResolverUtil.ReadColumn(worksheet, classCodeData.keyField[0].colIndex);
var duplicateValues = keyDict.GroupBy(x => x.Value).Where(g => g.Count() > 1);
foreach (var duplicateValue in duplicateValues)
@ -121,6 +122,22 @@ namespace Tools.ExcelResolver.Editor
else if (config.Contains("UnionMultiKeyTable"))
{
tableType = TableType.UnionMultiKeyTable;
var configs = config.Split("|");
Assert.IsTrue(configs.Length >= 3, $"'{classCodeData.className}'配置错误,UnionMultiKeyTable至少有两个主键");
var keys = configs[1..];
classCodeData.keyField = keys.Select(key =>
{
var field = classCodeData.fields.FirstOrDefault(f => f.Value.varName == key);
Assert.IsTrue(field.Value != null, $"'{classCodeData.className}'配置错误,主键字段不存在");
return field.Value;
}).ToArray();
// 判断主键是否有重复值或缺失
var keyDictList = new List<Dictionary<int, string>>();
foreach (var keyField in classCodeData.keyField)
{
keyDictList.Add(ExcelResolverUtil.ReadColumn(worksheet, keyField.colIndex));
}
}
else if (config.Contains("MultiKeyTable"))
{

23
Assets/Unity-Tools/ExcelResolver/Editor/ExcelResolverEditorWindow.WriteDataSO.cs

@ -1,8 +1,10 @@
using System;
using System.Collections.Generic;
using System.Reflection;
using System.Text;
using OfficeOpenXml;
using Sirenix.OdinInspector;
using Tools.Editor;
using UnityEditor;
using UnityEngine;
@ -22,6 +24,7 @@ namespace Tools.ExcelResolver.Editor
var dataName = $"{classCodeData.className}";
var path = $"{excelResolverConfig.SOPathRoot}/{classCodeData.className}/";
DirectoryUtil.MakeSureDirectory(path);
string[] assetGuids = AssetDatabase.FindAssets($"t:{dataName}", new[] { path });
Dictionary<string, ScriptableObject> originAssets = new();
@ -93,13 +96,29 @@ namespace Tools.ExcelResolver.Editor
switch (classCodeData.tableType)
{
case TableType.SingleKeyTable:
{
var keyColIndex = classCodeData.keyField[0].colIndex;
var key = worksheet.Cells[row, keyColIndex].Text;
if (!string.IsNullOrEmpty(key))
return $"{classCodeData.className}_{key}";
break;
// case TableType.UnionMultiKeyTable:
// return $"{classCodeData.className}_{classCodeData.keyField[0].varName}";
}
case TableType.UnionMultiKeyTable:
{
var sb = new StringBuilder();
sb.Append(classCodeData.className);
foreach (var keyField in classCodeData.keyField)
{
var keyColIndex = keyField.colIndex;
var key = worksheet.Cells[row, keyColIndex].Text;
sb.Append("_");
sb.Append(key);
}
if (sb.Length > classCodeData.className.Length)
return sb.ToString();
break;
}
// case TableType.MultiKeyTable:
// return $"{classCodeData.className}_{classCodeData.keyField[0].varName}";
// case TableType.NotKetTable:

BIN
Assets/_Project/ExcelResolver/Excel/hero.xlsx

Binary file not shown.

BIN
Assets/_Project/ExcelResolver/Excel/monster.xlsx

Binary file not shown.

7
Assets/_Project/ExcelResolver/Excel/monster.xlsx.meta

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 172d7603496e3e044bffa8bc57fd34c9
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

8
Assets/_Project/ScriptableObject/Excel/Monster.meta

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: fe1113ebe4d26c6418661c6993c778d5
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

133
Assets/_Project/ScriptableObject/Excel/Monster/Monster_1_.asset

@ -0,0 +1,133 @@
%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: 07476013186559f459c8b934922db079, type: 3}
m_Name: Monster_1_
m_EditorClassIdentifier:
serializationData:
SerializedFormat: 2
SerializedBytes:
ReferencedUnityObjects: []
SerializedBytesString:
Prefab: {fileID: 0}
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: 2
- Name:
Entry: 7
Data:
- Name: $k
Entry: 3
Data: 2
- Name: $v
Entry: 4
Data: 2.3
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 3
Data: 5
- Name: $v
Entry: 4
Data: 4.6
- Name:
Entry: 8
Data:
- Name:
Entry: 13
Data:
- Name:
Entry: 8
Data:
- Name: attribute
Entry: 7
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.EnumEqualityComparer`1[[Tools.ExcelResolver.Attribute,
Assembly-CSharp]], mscorlib
- Name:
Entry: 12
Data: 0
- Name:
Entry: 13
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 12
Data: 2
- Name:
Entry: 7
Data:
- Name: $k
Entry: 3
Data: 0
- Name: $v
Entry: 3
Data: 500
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 3
Data: 1
- Name: $v
Entry: 3
Data: 300
- Name:
Entry: 8
Data:
- Name:
Entry: 13
Data:
- Name:
Entry: 8
Data:
id: 1
level: 0
name: "\u9053\u58EB"
icon: hero_1
has: 1
hp: 100
atk: 20
speed: 1.2
pos: {x: 0, y: 1, z: 9}
ches: {x: 0, y: 1}
attack_target:
- {x: 1, y: 2}
- {x: 1, y: 2}
- {x: 1, y: 2}
- {x: 1, y: 2}
color: 1

8
Assets/_Project/ScriptableObject/Excel/Monster/Monster_1_.asset.meta

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 9b14440591c82514b94b46bafa3e6f01
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

81
Assets/_Project/ScriptableObject/Excel/Monster/Monster_2_.asset

@ -0,0 +1,81 @@
%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: 07476013186559f459c8b934922db079, type: 3}
m_Name: Monster_2_
m_EditorClassIdentifier:
serializationData:
SerializedFormat: 2
SerializedBytes:
ReferencedUnityObjects: []
SerializedBytesString:
Prefab: {fileID: 0}
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: 2|System.Collections.Generic.Dictionary`2[[Tools.ExcelResolver.Attribute,
Assembly-CSharp],[System.Int32, mscorlib]], mscorlib
- Name: comparer
Entry: 7
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:
- Name:
Entry: 12
Data: 0
- Name:
Entry: 13
Data:
- Name:
Entry: 8
Data:
id: 2
level: 0
name:
icon: hero_2
has: 1
hp: 150
atk: 0
speed: 0
pos: {x: 0, y: 0, z: 0}
ches: {x: 0, y: 0}
attack_target: []
color: 0

8
Assets/_Project/ScriptableObject/Excel/Monster/Monster_2_.asset.meta

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: d0b135f47516737488bfc50495c301b5
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

94
Assets/_Project/ScriptableObject/Excel/Monster/Monster_3_.asset

@ -0,0 +1,94 @@
%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: 07476013186559f459c8b934922db079, type: 3}
m_Name: Monster_3_
m_EditorClassIdentifier:
serializationData:
SerializedFormat: 2
SerializedBytes:
ReferencedUnityObjects: []
SerializedBytesString:
Prefab: {fileID: 0}
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: 2|System.Collections.Generic.Dictionary`2[[Tools.ExcelResolver.Attribute,
Assembly-CSharp],[System.Int32, mscorlib]], mscorlib
- Name: comparer
Entry: 7
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:
- Name:
Entry: 12
Data: 1
- Name:
Entry: 7
Data:
- Name: $k
Entry: 3
Data: 2
- Name: $v
Entry: 3
Data: 200
- Name:
Entry: 8
Data:
- Name:
Entry: 13
Data:
- Name:
Entry: 8
Data:
id: 3
level: 0
name: "\u5973\u5DEB"
icon: hero_3
has: 0
hp: 80
atk: 8
speed: 1.1
pos: {x: 3, y: 2, z: 4}
ches: {x: 5, y: 13}
attack_target:
- {x: 1, y: 2}
color: 23

8
Assets/_Project/ScriptableObject/Excel/Monster/Monster_3_.asset.meta

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: da4bc5c61e83cfc43a14097f47e0adaf
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

133
Assets/_Project/ScriptableObject/Excel/Monster/Monster_4_.asset

@ -0,0 +1,133 @@
%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: 07476013186559f459c8b934922db079, type: 3}
m_Name: Monster_4_
m_EditorClassIdentifier:
serializationData:
SerializedFormat: 2
SerializedBytes:
ReferencedUnityObjects: []
SerializedBytesString:
Prefab: {fileID: 0}
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: 2
- Name:
Entry: 7
Data:
- Name: $k
Entry: 3
Data: 2
- Name: $v
Entry: 4
Data: 2.3
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 3
Data: 5
- Name: $v
Entry: 4
Data: 4.6
- Name:
Entry: 8
Data:
- Name:
Entry: 13
Data:
- Name:
Entry: 8
Data:
- Name: attribute
Entry: 7
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.EnumEqualityComparer`1[[Tools.ExcelResolver.Attribute,
Assembly-CSharp]], mscorlib
- Name:
Entry: 12
Data: 0
- Name:
Entry: 13
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 12
Data: 2
- Name:
Entry: 7
Data:
- Name: $k
Entry: 3
Data: 0
- Name: $v
Entry: 3
Data: 500
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 3
Data: 1
- Name: $v
Entry: 3
Data: 300
- Name:
Entry: 8
Data:
- Name:
Entry: 13
Data:
- Name:
Entry: 8
Data:
id: 4
level: 0
name: "\u9053\u58EB"
icon: hero_1
has: 1
hp: 100
atk: 20
speed: 1.2
pos: {x: 0, y: 1, z: 9}
ches: {x: 0, y: 1}
attack_target:
- {x: 1, y: 2}
- {x: 1, y: 2}
- {x: 1, y: 2}
- {x: 1, y: 2}
color: 1

8
Assets/_Project/ScriptableObject/Excel/Monster/Monster_4_.asset.meta

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 9b944e0ac7ec6b94e99345643526a2a7
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

81
Assets/_Project/ScriptableObject/Excel/Monster/Monster__.asset

@ -0,0 +1,81 @@
%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: 07476013186559f459c8b934922db079, type: 3}
m_Name: Monster__
m_EditorClassIdentifier:
serializationData:
SerializedFormat: 2
SerializedBytes:
ReferencedUnityObjects: []
SerializedBytesString:
Prefab: {fileID: 0}
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: 2|System.Collections.Generic.Dictionary`2[[Tools.ExcelResolver.Attribute,
Assembly-CSharp],[System.Int32, mscorlib]], mscorlib
- Name: comparer
Entry: 7
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:
- Name:
Entry: 12
Data: 0
- Name:
Entry: 13
Data:
- Name:
Entry: 8
Data:
id: 0
level: 0
name:
icon:
has: 0
hp: 0
atk: 0
speed: 0
pos: {x: 0, y: 0, z: 0}
ches: {x: 0, y: 0}
attack_target: []
color: 0

8
Assets/_Project/ScriptableObject/Excel/Monster/Monster__.asset.meta

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: e9c4e0423d5964747a67ca5206ab1f0b
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

23
Assets/_Project/ScriptableObject/Excel/Monster/_MonsterUtil.asset

@ -0,0 +1,23 @@
%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: 597b3ca9edd08af4290f8bdc398d04a1, type: 3}
m_Name: _MonsterUtil
m_EditorClassIdentifier:
serializationData:
SerializedFormat: 2
SerializedBytes:
ReferencedUnityObjects: []
SerializedBytesString:
Prefab: {fileID: 0}
PrefabModificationsReferencedUnityObjects: []
PrefabModifications: []
SerializationNodes: []

8
Assets/_Project/ScriptableObject/Excel/Monster/_MonsterUtil.asset.meta

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 8506a93b0f3975940bafb97c6bc3b4bb
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

93
Assets/_Project/Scripts/Generator/Excel/Monster.cs

@ -0,0 +1,93 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 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.
// </auto-generated>
//------------------------------------------------------------------------------
namespace Tools.ExcelResolver
{
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Sirenix.OdinInspector;
public class Monster : SerializedScriptableObject, IExcelSOData
{
/// <summary>
/// 英雄
/// </summary>
public int id;
/// <summary>
/// 等级
/// </summary>
public int level;
/// <summary>
/// 名称
/// </summary>
public string name;
/// <summary>
/// icon
/// </summary>
public string icon;
/// <summary>
/// 有宠物
/// </summary>
public bool has;
/// <summary>
/// 血量
/// </summary>
public int hp;
/// <summary>
/// 攻击力
/// </summary>
public int atk;
/// <summary>
/// 移速
/// </summary>
public float speed;
/// <summary>
/// 位置
/// </summary>
public Vector3 pos;
/// <summary>
/// 位置
/// </summary>
public Vector2 ches;
/// <summary>
/// 攻击优先级
/// </summary>
public List<Vector2> attack_target;
/// <summary>
/// 你好
/// </summary>
public Dictionary<Int32, Single> nihao;
/// <summary>
///
/// </summary>
public Dictionary<Attribute, Int32> attribute;
/// <summary>
///
/// </summary>
public CustomizeColor color;
}
}

2
Assets/_Project/Scripts/Generator/Excel/Monster.cs.meta

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 07476013186559f459c8b934922db079

23
Assets/_Project/Scripts/Generator/Excel/MonsterUtil.cs

@ -0,0 +1,23 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 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.
// </auto-generated>
//------------------------------------------------------------------------------
namespace Tools.ExcelResolver
{
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Sirenix.OdinInspector;
public class MonsterUtil : SerializedScriptableObject, IExcelSOUtil
{
}
}

2
Assets/_Project/Scripts/Generator/Excel/MonsterUtil.cs.meta

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 597b3ca9edd08af4290f8bdc398d04a1
Loading…
Cancel
Save