Browse Source

MultiKeyTable的生成与检查

main
coffee 5 months ago
parent
commit
8e6f643e46
  1. 3
      Assets/Unity-Tools/ExcelResolver/Editor/Core/Data/FieldData.cs
  2. 5
      Assets/Unity-Tools/ExcelResolver/Editor/Core/Util/ExcelResolverUtil.Cell.cs
  3. 85
      Assets/Unity-Tools/ExcelResolver/Editor/ExcelResolverEditorWindow.ReadExcel.cs
  4. 25
      Assets/Unity-Tools/ExcelResolver/Editor/ExcelResolverEditorWindow.WriteDataSO.cs
  5. 46
      Assets/Unity-Tools/ExcelResolver/Editor/ExcelResolverEditorWindow.WriteUtilCode.cs
  6. 114
      Assets/Unity-Tools/ExcelResolver/Editor/ExcelResolverEditorWindow.WriteUtilSO.cs
  7. BIN
      Assets/_Project/ExcelResolver/Excel/hero.xlsx
  8. BIN
      Assets/_Project/ExcelResolver/Excel/monster.xlsx
  9. BIN
      Assets/_Project/ExcelResolver/Excel/monster2.xlsx
  10. 7
      Assets/_Project/ExcelResolver/Excel/monster2.xlsx.meta
  11. 4
      Assets/_Project/ScriptableObject/Excel/Monster/Monster_1_1.asset
  12. 2
      Assets/_Project/ScriptableObject/Excel/Monster/Monster_1_1.asset.meta
  13. 6
      Assets/_Project/ScriptableObject/Excel/Monster/Monster_1_2.asset
  14. 2
      Assets/_Project/ScriptableObject/Excel/Monster/Monster_1_2.asset.meta
  15. 6
      Assets/_Project/ScriptableObject/Excel/Monster/Monster_2_1.asset
  16. 2
      Assets/_Project/ScriptableObject/Excel/Monster/Monster_2_1.asset.meta
  17. 76
      Assets/_Project/ScriptableObject/Excel/Monster/Monster_2_2.asset
  18. 2
      Assets/_Project/ScriptableObject/Excel/Monster/Monster_2_2.asset.meta
  19. 133
      Assets/_Project/ScriptableObject/Excel/Monster/Monster_3_1.asset
  20. 8
      Assets/_Project/ScriptableObject/Excel/Monster/Monster_3_1.asset.meta
  21. 133
      Assets/_Project/ScriptableObject/Excel/Monster/Monster_3_2.asset
  22. 8
      Assets/_Project/ScriptableObject/Excel/Monster/Monster_3_2.asset.meta
  23. 8
      Assets/_Project/ScriptableObject/Excel/Monster/Monster__.asset.meta
  24. 163
      Assets/_Project/ScriptableObject/Excel/Monster/_MonsterUtil.asset
  25. 8
      Assets/_Project/ScriptableObject/Excel/Monster2.meta
  26. 134
      Assets/_Project/ScriptableObject/Excel/Monster2/Monster2_1_1_1.asset
  27. 8
      Assets/_Project/ScriptableObject/Excel/Monster2/Monster2_1_1_1.asset.meta
  28. 134
      Assets/_Project/ScriptableObject/Excel/Monster2/Monster2_1_1_2.asset
  29. 8
      Assets/_Project/ScriptableObject/Excel/Monster2/Monster2_1_1_2.asset.meta
  30. 134
      Assets/_Project/ScriptableObject/Excel/Monster2/Monster2_1_1_3.asset
  31. 8
      Assets/_Project/ScriptableObject/Excel/Monster2/Monster2_1_1_3.asset.meta
  32. 134
      Assets/_Project/ScriptableObject/Excel/Monster2/Monster2_1_2_1.asset
  33. 8
      Assets/_Project/ScriptableObject/Excel/Monster2/Monster2_1_2_1.asset.meta
  34. 134
      Assets/_Project/ScriptableObject/Excel/Monster2/Monster2_1_2_3.asset
  35. 8
      Assets/_Project/ScriptableObject/Excel/Monster2/Monster2_1_2_3.asset.meta
  36. 134
      Assets/_Project/ScriptableObject/Excel/Monster2/Monster2_1_2_4.asset
  37. 8
      Assets/_Project/ScriptableObject/Excel/Monster2/Monster2_1_2_4.asset.meta
  38. 42
      Assets/_Project/ScriptableObject/Excel/Monster2/Monster2_2_1_1.asset
  39. 8
      Assets/_Project/ScriptableObject/Excel/Monster2/Monster2_2_1_1.asset.meta
  40. 134
      Assets/_Project/ScriptableObject/Excel/Monster2/Monster2_2_2_1.asset
  41. 8
      Assets/_Project/ScriptableObject/Excel/Monster2/Monster2_2_2_1.asset.meta
  42. 134
      Assets/_Project/ScriptableObject/Excel/Monster2/Monster2_3_1_1.asset
  43. 8
      Assets/_Project/ScriptableObject/Excel/Monster2/Monster2_3_1_1.asset.meta
  44. 134
      Assets/_Project/ScriptableObject/Excel/Monster2/Monster2_3_2_1.asset
  45. 8
      Assets/_Project/ScriptableObject/Excel/Monster2/Monster2_3_2_1.asset.meta
  46. 305
      Assets/_Project/ScriptableObject/Excel/Monster2/_Monster2Util.asset
  47. 8
      Assets/_Project/ScriptableObject/Excel/Monster2/_Monster2Util.asset.meta
  48. 2
      Assets/_Project/Scripts/Generator/Excel/HeroUtil.cs
  49. 98
      Assets/_Project/Scripts/Generator/Excel/Monster2.cs
  50. 2
      Assets/_Project/Scripts/Generator/Excel/Monster2.cs.meta
  51. 25
      Assets/_Project/Scripts/Generator/Excel/Monster2Util.cs
  52. 2
      Assets/_Project/Scripts/Generator/Excel/Monster2Util.cs.meta
  53. 2
      Assets/_Project/Scripts/Generator/Excel/MonsterUtil.cs

3
Assets/Unity-Tools/ExcelResolver/Editor/Core/Data/FieldData.cs

@ -6,10 +6,9 @@ namespace Tools.ExcelResolver.Editor
internal class FieldData : IDisposable
{
public int colIndex;
public bool isKey;
public string varName;
public string typeString;
// public string typeString;
public TType type;
public string info;
public string description;

5
Assets/Unity-Tools/ExcelResolver/Editor/Core/Util/ExcelResolverUtil.Cell.cs

@ -43,8 +43,11 @@ namespace Tools.ExcelResolver.Editor
var values = new Dictionary<int, string>(endRow);
for (int row = 1; row <= endRow; row++)
{
var first = worksheet.Cells[row, 1].Text;
// 结束
if (string.Equals(first, "end", StringComparison.OrdinalIgnoreCase)) break;
// 跳过注释行
if (worksheet.Cells[row, 1].Text == "##" || string.IsNullOrEmpty(worksheet.Cells[row, col].Text)) continue;
if (first.StartsWith("##")) continue;
string value = worksheet.Cells[row, col].Text.Trim();
values.Add(row, value);
}

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

@ -13,7 +13,7 @@ namespace Tools.ExcelResolver.Editor
{
public sealed partial class ExcelResolverEditorWindow
{
private void ReadExcel()
private void ReadExcel(bool onlyGetClassCodeData = false)
{
classCodeDataDict = new Dictionary<ExcelWorksheet, ClassCodeData>();
@ -52,8 +52,11 @@ namespace Tools.ExcelResolver.Editor
classCodeData.fields = GetFieldData(worksheet, classCodeData);
classCodeData.tableType = CheckTableTypeAndSetKeyField(worksheet, classCodeData);
WriteDataCode(classCodeData);
WriteSOCode(classCodeData);
if (!onlyGetClassCodeData)
{
WriteDataCode(classCodeData);
WriteSOCode(classCodeData);
}
classCodeDataDict.Add(worksheet, classCodeData);
Debug.Log($"读取Excel文件:'{excelFile.Name}',并生成代码");
}
@ -87,12 +90,15 @@ namespace Tools.ExcelResolver.Editor
private void Update()
{
if (isCompilationFinished && System.AppDomain.CurrentDomain.GetAssemblies()
.Any(a => a.GetName().Name == "Assembly-CSharp"))
if (isCompilationFinished)
{
isCompilationFinished = false;
Debug.Log("Assembly-CSharp加载完成,开始写入SO数据");
WriteDataSO();
var assemblies = AppDomain.CurrentDomain.GetAssemblies();
if (assemblies.Any(a => a.GetName().Name == "Assembly-CSharp"))
{
isCompilationFinished = false;
Debug.Log("Assembly-CSharp加载完成,开始写入SO数据");
WriteDataSO();
}
}
}
@ -110,38 +116,75 @@ namespace Tools.ExcelResolver.Editor
var key = configs[1];
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 emptyKey = keyDict.Where(p => string.IsNullOrEmpty(p.Value));
Assert.IsTrue(emptyKey.Count() <= 0, $"'{classCodeData.className}'主键字段在第<color=cyan>'{string.Join(",", emptyKey.Select(p => p.Key))}'</color>行存在空值");
var duplicateValues = keyDict.GroupBy(x => x.Value).Where(g => g.Count() > 1);
foreach (var duplicateValue in duplicateValues)
{
throw new Exception($"'{classCodeData.className}'主键字段存在重复值:'<color=cyan>{duplicateValue.Key}</color>' " +
$"行号:{string.Join(",", duplicateValue.Select(g => g.Key))}");
Debug.LogError($"'{classCodeData.className}'主键字段存在重复值:'<color=cyan>{duplicateValue.Key}</color>' " +
$"行号:<color=cyan>{string.Join(",", duplicateValue.Select(g => g.Key))}</color>");
}
Assert.IsTrue(duplicateValues.Count() <= 0);
}
else if (config.Contains("UnionMultiKeyTable"))
else if (config.Contains("UnionMultiKeyTable") || config.Contains("MultiKeyTable"))
{
tableType = TableType.UnionMultiKeyTable;
tableType = config.Contains("UnionMultiKeyTable") ? TableType.UnionMultiKeyTable : TableType.MultiKeyTable;
var configs = config.Split("|");
Assert.IsTrue(configs.Length >= 3, $"'{classCodeData.className}'配置错误,UnionMultiKeyTable至少有两个主键");
Assert.IsTrue(configs.Length >= 3, $"'<color=cyan>{classCodeData.className}</color>'配置错误,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}'配置错误,主键字段不存在");
Assert.IsTrue(field.Value != null, $"'<color=cyan>{classCodeData.className}</color>'配置错误,主键字段不存在");
return field.Value;
}).ToArray();
// 判断主键是否有重复值或缺失
// 判断主键是否有重复值或空值
var keyDictList = new List<Dictionary<int, string>>();
foreach (var keyField in classCodeData.keyField)
{
keyDictList.Add(ExcelResolverUtil.ReadColumn(worksheet, keyField.colIndex));
}
for (int i = 0; i < keyDictList.Count; i++)
{
Dictionary<int, string> keyDict = keyDictList[i];
var keyField = classCodeData.keyField[i];
// 检查是否有空值
var emptyKey = keyDict.Where(p => string.IsNullOrEmpty(p.Value));
Assert.IsTrue(emptyKey.Count() <= 0, $"'{classCodeData.className}'主键字段 '<color=cyan>{keyField.varName}</color>' 在 '<color=cyan>{string.Join(",", emptyKey.Select(p => p.Key))}</color>' 存在空值");
/*
// 检查是否有重复值
var duplicates = keyDict.GroupBy(v => v.Value).Where(g => g.Count() > 1);
foreach (var duplicate in duplicates)
{
Debug.LogError($"'{classCodeData.className}'主键字段 '<color=cyan>{keyField.varName}</color>' 存在重复值: '<color=cyan>{duplicate.Key}</color>' " +
$"行号:{string.Join(",", duplicate.Select(g => g.Key))}");
}
Assert.IsTrue(duplicates.Count() <= 0);*/
}
}
else if (config.Contains("MultiKeyTable"))
{
tableType = TableType.MultiKeyTable;
// 检查组合是否唯一
var combinedKeys = new HashSet<string>();
foreach (var pair in keyDictList[0])
{
var combinedKey = string.Join("_", keyDictList.Select(dict => dict[pair.Key]));
if (combinedKeys.Contains(combinedKey))
{
Debug.LogError($"'{classCodeData.className}'主键在行 '<color=cyan>{pair.Key}</color>' 存在重复组合: '<color=cyan>{combinedKey}</color>'");
}
else
{
combinedKeys.Add(combinedKey);
}
}
Assert.IsTrue(combinedKeys.Count == keyDictList[0].Count);
}
else if (config.Contains("NotKetTable"))
{
@ -172,7 +215,7 @@ namespace Tools.ExcelResolver.Editor
{
colIndex = col,
varName = cellText,
typeString = worksheet.Cells[3, col].Text,
// typeString = worksheet.Cells[3, col].Text,
type = ExcelResolverUtil.GetTTypeByString(worksheet.Cells[3, col].Text, worksheet.Cells[3, col], classCodeData.className),
info = worksheet.Cells[4, col].Text,
description = worksheet.Cells[5, col].Text,

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

@ -13,10 +13,14 @@ namespace Tools.ExcelResolver.Editor
public sealed partial class ExcelResolverEditorWindow
{
[FoldoutGroup("Hide Setting")]
[ShowInInspector] private Dictionary<ExcelWorksheet, ClassCodeData> classCodeDataDict = new();
[ShowInInspector] private Dictionary<ExcelWorksheet, ClassCodeData> classCodeDataDict;
private void WriteDataSO()
{
if (classCodeDataDict == null)
{
ReadExcel(true);
}
foreach (var classCodeDataDictPair in classCodeDataDict)
{
var worksheet = classCodeDataDictPair.Key;
@ -39,8 +43,11 @@ namespace Tools.ExcelResolver.Editor
for (int row = 1; row <= worksheet.Dimension.End.Row; row++)
{
var first = worksheet.Cells[row, 1].Text;
// 结束
if (string.Equals(first, "end", StringComparison.OrdinalIgnoreCase)) break;
// 跳过注释行
if (worksheet.Cells[row, 1].Text.StartsWith("##")) continue;
if (first.StartsWith("##")) continue;
var assetName = getAssetName(worksheet, row, classCodeData);
var fullPath = $"{path}{assetName}.asset";
@ -58,7 +65,7 @@ namespace Tools.ExcelResolver.Editor
ScriptableObject instance = ScriptableObject.CreateInstance(dataName);
set(instance, worksheet, row, classCodeData);
AssetDatabase.CreateAsset(instance, fullPath);
Debug.Log($"创建:{assetName}", instance);
Debug.Log($"<color=green>创建</color>:{assetName}", instance);
result.Add(instance);
}
}
@ -103,7 +110,7 @@ namespace Tools.ExcelResolver.Editor
return $"{classCodeData.className}_{key}";
break;
}
case TableType.UnionMultiKeyTable:
case TableType.UnionMultiKeyTable or TableType.MultiKeyTable:
{
var sb = new StringBuilder();
sb.Append(classCodeData.className);
@ -119,12 +126,10 @@ namespace Tools.ExcelResolver.Editor
return sb.ToString();
break;
}
// case TableType.MultiKeyTable:
// return $"{classCodeData.className}_{classCodeData.keyField[0].varName}";
// case TableType.NotKetTable:
// return classCodeData.className;
// case TableType.ColumnTable:
// return $"{classCodeData.className}_{classCodeData.fields[2].Value.varName}";
case TableType.NotKetTable:
return classCodeData.className;
case TableType.ColumnTable:
return $"{classCodeData.className}_{classCodeData.fields[2].varName}";
}

46
Assets/Unity-Tools/ExcelResolver/Editor/ExcelResolverEditorWindow.WriteUtilCode.cs

@ -62,17 +62,53 @@ namespace Tools.ExcelResolver.Editor
switch (classCodeData.tableType)
{
case TableType.SingleKeyTable:
FieldData keyField = classCodeData.fields.First().Value;
CodeMemberField codeField = new CodeMemberField($"Dictionary<{keyField.typeString}, {classCodeData.className}>", "Data")
{
Attributes = MemberAttributes.Public,
};
{
FieldData keyField = classCodeData.keyField.First();
CodeMemberField codeField =
new CodeMemberField($"Dictionary<{keyField.type.FieldWriteFormat}, {classCodeData.className}>", "Data")
{
Attributes = MemberAttributes.Public,
};
codeFields.Add(codeField);
break;
}
case TableType.UnionMultiKeyTable:
{
var sb = new System.Text.StringBuilder();
foreach (var keyField in classCodeData.keyField)
{
sb.Append(keyField.type.FieldWriteFormat);
sb.Append(", ");
}
sb.Remove(sb.Length - 2, 2);
CodeMemberField codeField =
new CodeMemberField($"Dictionary<({sb}), {classCodeData.className}>", "Data")
{
Attributes = MemberAttributes.Public,
};
codeFields.Add(codeField);
break;
}
case TableType.MultiKeyTable:
{
// 获取所有键的类型
var keyTypes = classCodeData.keyField.Select(k => k.type.FieldWriteFormat).ToList();
// 动态生成嵌套字典的类型字符串
string dictType = classCodeData.className; // 最内层的值类型
for (int i = keyTypes.Count - 1; i >= 0; i--)
{
dictType = $"Dictionary<{keyTypes[i]}, {dictType}>";
}
// 创建字段
CodeMemberField codeField = new CodeMemberField(dictType, "Data")
{
Attributes = MemberAttributes.Public,
};
codeFields.Add(codeField);
break;
}
case TableType.NotKetTable:
break;
case TableType.ColumnTable:

114
Assets/Unity-Tools/ExcelResolver/Editor/ExcelResolverEditorWindow.WriteUtilSO.cs

@ -1,6 +1,7 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using UnityEditor;
using UnityEngine;
@ -23,20 +24,131 @@ namespace Tools.ExcelResolver.Editor
switch (classCodeData.tableType)
{
case TableType.SingleKeyTable:
{
var keyField = classCodeData.keyField[0];
var dict = (IDictionary)Activator.CreateInstance(typeof(Dictionary<,>).MakeGenericType(keyField.type.RealType, assets[0].GetType()));
foreach (var asset in assets)
{
var key = asset.GetType().GetField(keyField.varName).GetValue(asset);
dict[key] = asset;
}
instance.GetType().GetField("Data").SetValue(instance, dict);
break;
}
case TableType.UnionMultiKeyTable:
{
// 获取所有键的类型
var keyFields = classCodeData.keyField.Select(k => k.type.RealType).ToArray();
// 动态生成 ValueTuple 类型
Type tupleType;
switch (keyFields.Length)
{
case 1:
tupleType = typeof(ValueTuple<>).MakeGenericType(keyFields);
break;
case 2:
tupleType = typeof(ValueTuple<,>).MakeGenericType(keyFields);
break;
case 3:
tupleType = typeof(ValueTuple<,,>).MakeGenericType(keyFields);
break;
case 4:
tupleType = typeof(ValueTuple<,,,>).MakeGenericType(keyFields);
break;
case 5:
tupleType = typeof(ValueTuple<,,,,>).MakeGenericType(keyFields);
break;
case 6:
tupleType = typeof(ValueTuple<,,,,,>).MakeGenericType(keyFields);
break;
case 7:
tupleType = typeof(ValueTuple<,,,,,,>).MakeGenericType(keyFields);
break;
case 8:
tupleType = typeof(ValueTuple<,,,,,,,>).MakeGenericType(keyFields);
break;
default:
throw new NotSupportedException("ValueTuple supports up to 8 generic parameters.");
}
// 创建字典类型,键为 Tuple,值为资产类型
var dictType = typeof(Dictionary<,>).MakeGenericType(tupleType, assets[0].GetType());
var dict = (IDictionary)Activator.CreateInstance(dictType);
foreach (var asset in assets)
{
// 获取每个键的值
var keyValues = classCodeData.keyField.Select(k => asset.GetType().GetField(k.varName).GetValue(asset)).ToArray();
// 创建 Tuple 实例
var tupleInstance = Activator.CreateInstance(tupleType, keyValues);
// 将 Tuple 作为键,资产作为值,添加到字典中
dict[tupleInstance] = asset;
}
instance.GetType().GetField("Data").SetValue(instance, dict);
break;
}
case TableType.MultiKeyTable:
{
// 获取所有键的类型
var keyTypes = classCodeData.keyField.Select(k => k.type.RealType).ToArray();
var assetType = assets[0].GetType();
// 递归创建嵌套字典类型
Type CreateNestedDictionaryType(Type[] keyTypes, Type valueType, int index = 0)
{
if (index == keyTypes.Length - 1)
{
// 最内层字典:Dictionary<KeyN, Value>
return typeof(Dictionary<,>).MakeGenericType(keyTypes[index], valueType);
}
else
{
// 外层字典:Dictionary<KeyX, Dictionary<KeyX+1, ...>>
var innerDictType = CreateNestedDictionaryType(keyTypes, valueType, index + 1);
return typeof(Dictionary<,>).MakeGenericType(keyTypes[index], innerDictType);
}
}
// 创建嵌套字典实例
var dictType = CreateNestedDictionaryType(keyTypes, assetType);
var dict = (IDictionary)Activator.CreateInstance(dictType);
// 递归设置嵌套字典的值
void SetNestedValue(IDictionary currentDict, object asset, FieldData[] keyFields, int index = 0)
{
var key = asset.GetType().GetField(keyFields[index].varName).GetValue(asset);
if (index == keyFields.Length - 1)
{
// 最内层字典:直接设置值
currentDict[key] = asset;
}
else
{
// 外层字典:递归设置内层字典
if (!currentDict.Contains(key))
{
var innerDictType = CreateNestedDictionaryType(keyTypes, assetType, index + 1);
currentDict[key] = Activator.CreateInstance(innerDictType);
}
SetNestedValue((IDictionary)currentDict[key], asset, keyFields, index + 1);
}
}
// 遍历资产并设置值
foreach (var asset in assets)
{
SetNestedValue(dict, asset, classCodeData.keyField);
}
// 将字典赋值给实例的 Data 字段
instance.GetType().GetField("Data").SetValue(instance, dict);
break;
}
case TableType.NotKetTable:
break;
case TableType.ColumnTable:

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

Binary file not shown.

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

Binary file not shown.

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

Binary file not shown.

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

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

4
Assets/_Project/ScriptableObject/Excel/Monster/Monster_1_.asset → Assets/_Project/ScriptableObject/Excel/Monster/Monster_1_1.asset

@ -10,7 +10,7 @@ MonoBehaviour:
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 07476013186559f459c8b934922db079, type: 3}
m_Name: Monster_1_
m_Name: Monster_1_1
m_EditorClassIdentifier:
serializationData:
SerializedFormat: 2
@ -116,7 +116,7 @@ MonoBehaviour:
Entry: 8
Data:
id: 1
level: 0
level: 1
name: "\u9053\u58EB"
icon: hero_1
has: 1

2
Assets/_Project/ScriptableObject/Excel/Monster/Monster_3_.asset.meta → Assets/_Project/ScriptableObject/Excel/Monster/Monster_1_1.asset.meta

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: da4bc5c61e83cfc43a14097f47e0adaf
guid: 10b498c47899e3e4a93754d0c88b20f5
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000

6
Assets/_Project/ScriptableObject/Excel/Monster/Monster_4_.asset → Assets/_Project/ScriptableObject/Excel/Monster/Monster_1_2.asset

@ -10,7 +10,7 @@ MonoBehaviour:
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 07476013186559f459c8b934922db079, type: 3}
m_Name: Monster_4_
m_Name: Monster_1_2
m_EditorClassIdentifier:
serializationData:
SerializedFormat: 2
@ -115,8 +115,8 @@ MonoBehaviour:
- Name:
Entry: 8
Data:
id: 4
level: 0
id: 1
level: 2
name: "\u9053\u58EB"
icon: hero_1
has: 1

2
Assets/_Project/ScriptableObject/Excel/Monster/Monster_1_.asset.meta → Assets/_Project/ScriptableObject/Excel/Monster/Monster_1_2.asset.meta

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 9b14440591c82514b94b46bafa3e6f01
guid: eebff9edb6898524daace3e6e354a6c2
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000

6
Assets/_Project/ScriptableObject/Excel/Monster/Monster_3_.asset → Assets/_Project/ScriptableObject/Excel/Monster/Monster_2_1.asset

@ -10,7 +10,7 @@ MonoBehaviour:
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 07476013186559f459c8b934922db079, type: 3}
m_Name: Monster_3_
m_Name: Monster_2_1
m_EditorClassIdentifier:
serializationData:
SerializedFormat: 2
@ -79,8 +79,8 @@ MonoBehaviour:
- Name:
Entry: 8
Data:
id: 3
level: 0
id: 2
level: 1
name: "\u5973\u5DEB"
icon: hero_3
has: 0

2
Assets/_Project/ScriptableObject/Excel/Monster/Monster_4_.asset.meta → Assets/_Project/ScriptableObject/Excel/Monster/Monster_2_1.asset.meta

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 9b944e0ac7ec6b94e99345643526a2a7
guid: 3acb94ec18efd2f48b42c9429ba12429
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000

76
Assets/_Project/ScriptableObject/Excel/Monster/Monster_2_.asset → Assets/_Project/ScriptableObject/Excel/Monster/Monster_2_2.asset

@ -10,7 +10,7 @@ MonoBehaviour:
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 07476013186559f459c8b934922db079, type: 3}
m_Name: Monster_2_
m_Name: Monster_2_2
m_EditorClassIdentifier:
serializationData:
SerializedFormat: 2
@ -34,7 +34,31 @@ MonoBehaviour:
Data:
- Name:
Entry: 12
Data: 0
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:
@ -60,7 +84,31 @@ MonoBehaviour:
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:
@ -68,14 +116,18 @@ MonoBehaviour:
Entry: 8
Data:
id: 2
level: 0
name:
icon: hero_2
level: 2
name: "\u9053\u58EB"
icon: hero_1
has: 1
hp: 150
atk: 0
speed: 0
pos: {x: 0, y: 0, z: 0}
ches: {x: 0, y: 0}
attack_target: []
color: 0
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

2
Assets/_Project/ScriptableObject/Excel/Monster/Monster_2_.asset.meta → Assets/_Project/ScriptableObject/Excel/Monster/Monster_2_2.asset.meta

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: d0b135f47516737488bfc50495c301b5
guid: 708a425a4f5d14945bdbab91479396ef
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000

133
Assets/_Project/ScriptableObject/Excel/Monster/Monster_3_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_3_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: 3
level: 1
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_3_1.asset.meta

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

133
Assets/_Project/ScriptableObject/Excel/Monster/Monster_3_2.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_3_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: 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: 3
level: 2
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_3_2.asset.meta

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

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

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

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

@ -15,9 +15,168 @@ MonoBehaviour:
serializationData:
SerializedFormat: 2
SerializedBytes:
ReferencedUnityObjects: []
ReferencedUnityObjects:
- {fileID: 11400000, guid: 10b498c47899e3e4a93754d0c88b20f5, type: 2}
- {fileID: 11400000, guid: eebff9edb6898524daace3e6e354a6c2, type: 2}
- {fileID: 11400000, guid: 3acb94ec18efd2f48b42c9429ba12429, type: 2}
- {fileID: 11400000, guid: 708a425a4f5d14945bdbab91479396ef, type: 2}
- {fileID: 11400000, guid: 091c8e4a157cb70428e4f9b870458d72, type: 2}
- {fileID: 11400000, guid: 698ef843e7948e64a9cdff714ea3284f, type: 2}
SerializedBytesString:
Prefab: {fileID: 0}
PrefabModificationsReferencedUnityObjects: []
PrefabModifications: []
SerializationNodes: []
SerializationNodes:
- Name: Data
Entry: 7
Data: 0|System.Collections.Generic.Dictionary`2[[System.ValueTuple`2[[System.Int32,
mscorlib],[System.Int32, mscorlib]], mscorlib],[Tools.ExcelResolver.Monster,
Assembly-CSharp]], mscorlib
- Name: comparer
Entry: 7
Data: 1|System.Collections.Generic.GenericEqualityComparer`1[[System.ValueTuple`2[[System.Int32,
mscorlib],[System.Int32, mscorlib]], mscorlib]], mscorlib
- Name:
Entry: 8
Data:
- Name:
Entry: 12
Data: 6
- Name:
Entry: 7
Data:
- Name: $k
Entry: 7
Data: System.ValueTuple`2[[System.Int32, mscorlib],[System.Int32, mscorlib]],
mscorlib
- Name: Item1
Entry: 3
Data: 1
- Name: Item2
Entry: 3
Data: 1
- Name:
Entry: 8
Data:
- Name: $v
Entry: 10
Data: 0
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 7
Data: System.ValueTuple`2[[System.Int32, mscorlib],[System.Int32, mscorlib]],
mscorlib
- Name: Item1
Entry: 3
Data: 1
- Name: Item2
Entry: 3
Data: 2
- Name:
Entry: 8
Data:
- Name: $v
Entry: 10
Data: 1
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 7
Data: System.ValueTuple`2[[System.Int32, mscorlib],[System.Int32, mscorlib]],
mscorlib
- Name: Item1
Entry: 3
Data: 2
- Name: Item2
Entry: 3
Data: 1
- Name:
Entry: 8
Data:
- Name: $v
Entry: 10
Data: 2
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 7
Data: System.ValueTuple`2[[System.Int32, mscorlib],[System.Int32, mscorlib]],
mscorlib
- Name: Item1
Entry: 3
Data: 2
- Name: Item2
Entry: 3
Data: 2
- Name:
Entry: 8
Data:
- Name: $v
Entry: 10
Data: 3
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 7
Data: System.ValueTuple`2[[System.Int32, mscorlib],[System.Int32, mscorlib]],
mscorlib
- Name: Item1
Entry: 3
Data: 3
- Name: Item2
Entry: 3
Data: 1
- Name:
Entry: 8
Data:
- Name: $v
Entry: 10
Data: 4
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 7
Data: System.ValueTuple`2[[System.Int32, mscorlib],[System.Int32, mscorlib]],
mscorlib
- Name: Item1
Entry: 3
Data: 3
- Name: Item2
Entry: 3
Data: 2
- Name:
Entry: 8
Data:
- Name: $v
Entry: 10
Data: 5
- Name:
Entry: 8
Data:
- Name:
Entry: 13
Data:
- Name:
Entry: 8
Data:

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

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

134
Assets/_Project/ScriptableObject/Excel/Monster2/Monster2_1_1_1.asset

@ -0,0 +1,134 @@
%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: a576b35de94d3344d8fbd0763d6dd001, type: 3}
m_Name: Monster2_1_1_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: 1
star: 1
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/Monster2/Monster2_1_1_1.asset.meta

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

134
Assets/_Project/ScriptableObject/Excel/Monster2/Monster2_1_1_2.asset

@ -0,0 +1,134 @@
%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: a576b35de94d3344d8fbd0763d6dd001, type: 3}
m_Name: Monster2_1_1_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: 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: 1
star: 2
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/Monster2/Monster2_1_1_2.asset.meta

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

134
Assets/_Project/ScriptableObject/Excel/Monster2/Monster2_1_1_3.asset

@ -0,0 +1,134 @@
%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: a576b35de94d3344d8fbd0763d6dd001, type: 3}
m_Name: Monster2_1_1_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: 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: 1
star: 3
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/Monster2/Monster2_1_1_3.asset.meta

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

134
Assets/_Project/ScriptableObject/Excel/Monster2/Monster2_1_2_1.asset

@ -0,0 +1,134 @@
%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: a576b35de94d3344d8fbd0763d6dd001, type: 3}
m_Name: Monster2_1_2_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: 2
star: 1
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/Monster2/Monster2_1_2_1.asset.meta

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

134
Assets/_Project/ScriptableObject/Excel/Monster2/Monster2_1_2_3.asset

@ -0,0 +1,134 @@
%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: a576b35de94d3344d8fbd0763d6dd001, type: 3}
m_Name: Monster2_1_2_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: 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: 2
star: 3
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/Monster2/Monster2_1_2_3.asset.meta

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

134
Assets/_Project/ScriptableObject/Excel/Monster2/Monster2_1_2_4.asset

@ -0,0 +1,134 @@
%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: a576b35de94d3344d8fbd0763d6dd001, type: 3}
m_Name: Monster2_1_2_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: 1
level: 2
star: 4
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/Monster2/Monster2_1_2_4.asset.meta

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

42
Assets/_Project/ScriptableObject/Excel/Monster/Monster__.asset → Assets/_Project/ScriptableObject/Excel/Monster2/Monster2_2_1_1.asset

@ -9,8 +9,8 @@ MonoBehaviour:
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 07476013186559f459c8b934922db079, type: 3}
m_Name: Monster__
m_Script: {fileID: 11500000, guid: a576b35de94d3344d8fbd0763d6dd001, type: 3}
m_Name: Monster2_2_1_1
m_EditorClassIdentifier:
serializationData:
SerializedFormat: 2
@ -60,22 +60,36 @@ MonoBehaviour:
Data:
- Name:
Entry: 12
Data: 0
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: 0
level: 0
name:
icon:
id: 2
level: 1
star: 1
name: "\u5973\u5DEB"
icon: hero_3
has: 0
hp: 0
atk: 0
speed: 0
pos: {x: 0, y: 0, z: 0}
ches: {x: 0, y: 0}
attack_target: []
color: 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/Monster2/Monster2_2_1_1.asset.meta

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

134
Assets/_Project/ScriptableObject/Excel/Monster2/Monster2_2_2_1.asset

@ -0,0 +1,134 @@
%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: a576b35de94d3344d8fbd0763d6dd001, type: 3}
m_Name: Monster2_2_2_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: 2
level: 2
star: 1
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/Monster2/Monster2_2_2_1.asset.meta

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

134
Assets/_Project/ScriptableObject/Excel/Monster2/Monster2_3_1_1.asset

@ -0,0 +1,134 @@
%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: a576b35de94d3344d8fbd0763d6dd001, type: 3}
m_Name: Monster2_3_1_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: 3
level: 1
star: 1
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/Monster2/Monster2_3_1_1.asset.meta

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

134
Assets/_Project/ScriptableObject/Excel/Monster2/Monster2_3_2_1.asset

@ -0,0 +1,134 @@
%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: a576b35de94d3344d8fbd0763d6dd001, type: 3}
m_Name: Monster2_3_2_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: 3
level: 2
star: 1
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/Monster2/Monster2_3_2_1.asset.meta

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

305
Assets/_Project/ScriptableObject/Excel/Monster2/_Monster2Util.asset

@ -0,0 +1,305 @@
%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: 7198c6febd43b3e4e9bc3d03adee7ca6, type: 3}
m_Name: _Monster2Util
m_EditorClassIdentifier:
serializationData:
SerializedFormat: 2
SerializedBytes:
ReferencedUnityObjects:
- {fileID: 11400000, guid: 1d616e671540a5e45a2e9bbc397473cd, type: 2}
- {fileID: 11400000, guid: 126868d42787b0d4082f5e5e51be3aa7, type: 2}
- {fileID: 11400000, guid: 625b8f716e29d0e479829887bf187608, type: 2}
- {fileID: 11400000, guid: 03ff521c744034a43984d8dd1b35d794, type: 2}
- {fileID: 11400000, guid: b4d9522104ffbbc48853481521f77255, type: 2}
- {fileID: 11400000, guid: caf4a6e06ca64384f865e4701e384eec, type: 2}
- {fileID: 11400000, guid: e24b55f8da8e25046b6f21fb186522dd, type: 2}
- {fileID: 11400000, guid: 4487091438fbaee49a898fa952b85335, type: 2}
- {fileID: 11400000, guid: 15391828eaa8f6e4eaa32c489fcf54d3, type: 2}
- {fileID: 11400000, guid: 497a1dc742f27cd4aa5baeaecfae715a, type: 2}
SerializedBytesString:
Prefab: {fileID: 0}
PrefabModificationsReferencedUnityObjects: []
PrefabModifications: []
SerializationNodes:
- Name: Data
Entry: 7
Data: 0|System.Collections.Generic.Dictionary`2[[System.ValueTuple`3[[System.Int32,
mscorlib],[System.Int32, mscorlib],[System.Int32, mscorlib]], mscorlib],[Tools.ExcelResolver.Monster2,
Assembly-CSharp]], mscorlib
- Name: comparer
Entry: 7
Data: 1|System.Collections.Generic.GenericEqualityComparer`1[[System.ValueTuple`3[[System.Int32,
mscorlib],[System.Int32, mscorlib],[System.Int32, mscorlib]], mscorlib]],
mscorlib
- Name:
Entry: 8
Data:
- Name:
Entry: 12
Data: 10
- Name:
Entry: 7
Data:
- Name: $k
Entry: 7
Data: System.ValueTuple`3[[System.Int32, mscorlib],[System.Int32, mscorlib],[System.Int32,
mscorlib]], mscorlib
- Name: Item1
Entry: 3
Data: 1
- Name: Item2
Entry: 3
Data: 1
- Name: Item3
Entry: 3
Data: 1
- Name:
Entry: 8
Data:
- Name: $v
Entry: 10
Data: 0
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 7
Data: System.ValueTuple`3[[System.Int32, mscorlib],[System.Int32, mscorlib],[System.Int32,
mscorlib]], mscorlib
- Name: Item1
Entry: 3
Data: 1
- Name: Item2
Entry: 3
Data: 1
- Name: Item3
Entry: 3
Data: 2
- Name:
Entry: 8
Data:
- Name: $v
Entry: 10
Data: 1
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 7
Data: System.ValueTuple`3[[System.Int32, mscorlib],[System.Int32, mscorlib],[System.Int32,
mscorlib]], mscorlib
- Name: Item1
Entry: 3
Data: 1
- Name: Item2
Entry: 3
Data: 1
- Name: Item3
Entry: 3
Data: 3
- Name:
Entry: 8
Data:
- Name: $v
Entry: 10
Data: 2
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 7
Data: System.ValueTuple`3[[System.Int32, mscorlib],[System.Int32, mscorlib],[System.Int32,
mscorlib]], mscorlib
- Name: Item1
Entry: 3
Data: 1
- Name: Item2
Entry: 3
Data: 2
- Name: Item3
Entry: 3
Data: 1
- Name:
Entry: 8
Data:
- Name: $v
Entry: 10
Data: 3
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 7
Data: System.ValueTuple`3[[System.Int32, mscorlib],[System.Int32, mscorlib],[System.Int32,
mscorlib]], mscorlib
- Name: Item1
Entry: 3
Data: 1
- Name: Item2
Entry: 3
Data: 2
- Name: Item3
Entry: 3
Data: 3
- Name:
Entry: 8
Data:
- Name: $v
Entry: 10
Data: 4
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 7
Data: System.ValueTuple`3[[System.Int32, mscorlib],[System.Int32, mscorlib],[System.Int32,
mscorlib]], mscorlib
- Name: Item1
Entry: 3
Data: 1
- Name: Item2
Entry: 3
Data: 2
- Name: Item3
Entry: 3
Data: 4
- Name:
Entry: 8
Data:
- Name: $v
Entry: 10
Data: 5
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 7
Data: System.ValueTuple`3[[System.Int32, mscorlib],[System.Int32, mscorlib],[System.Int32,
mscorlib]], mscorlib
- Name: Item1
Entry: 3
Data: 2
- Name: Item2
Entry: 3
Data: 1
- Name: Item3
Entry: 3
Data: 1
- Name:
Entry: 8
Data:
- Name: $v
Entry: 10
Data: 6
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 7
Data: System.ValueTuple`3[[System.Int32, mscorlib],[System.Int32, mscorlib],[System.Int32,
mscorlib]], mscorlib
- Name: Item1
Entry: 3
Data: 2
- Name: Item2
Entry: 3
Data: 2
- Name: Item3
Entry: 3
Data: 1
- Name:
Entry: 8
Data:
- Name: $v
Entry: 10
Data: 7
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 7
Data: System.ValueTuple`3[[System.Int32, mscorlib],[System.Int32, mscorlib],[System.Int32,
mscorlib]], mscorlib
- Name: Item1
Entry: 3
Data: 3
- Name: Item2
Entry: 3
Data: 1
- Name: Item3
Entry: 3
Data: 1
- Name:
Entry: 8
Data:
- Name: $v
Entry: 10
Data: 8
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 7
Data: System.ValueTuple`3[[System.Int32, mscorlib],[System.Int32, mscorlib],[System.Int32,
mscorlib]], mscorlib
- Name: Item1
Entry: 3
Data: 3
- Name: Item2
Entry: 3
Data: 2
- Name: Item3
Entry: 3
Data: 1
- Name:
Entry: 8
Data:
- Name: $v
Entry: 10
Data: 9
- Name:
Entry: 8
Data:
- Name:
Entry: 13
Data:
- Name:
Entry: 8
Data:

8
Assets/_Project/ScriptableObject/Excel/Monster2/_Monster2Util.asset.meta

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

2
Assets/_Project/Scripts/Generator/Excel/HeroUtil.cs

@ -20,6 +20,6 @@ namespace Tools.ExcelResolver
public class HeroUtil : SerializedScriptableObject, IExcelSOUtil
{
public Dictionary<int, Hero> Data;
public Dictionary<System.Int32, Hero> Data;
}
}

98
Assets/_Project/Scripts/Generator/Excel/Monster2.cs

@ -0,0 +1,98 @@
//------------------------------------------------------------------------------
// <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 Monster2 : SerializedScriptableObject, IExcelSOData
{
/// <summary>
/// 英雄
/// </summary>
public int id;
/// <summary>
/// 等级
/// </summary>
public int level;
/// <summary>
/// 星级
/// </summary>
public int star;
/// <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/Monster2.cs.meta

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: a576b35de94d3344d8fbd0763d6dd001

25
Assets/_Project/Scripts/Generator/Excel/Monster2Util.cs

@ -0,0 +1,25 @@
//------------------------------------------------------------------------------
// <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 Monster2Util : SerializedScriptableObject, IExcelSOUtil
{
public Dictionary<(System.Int32, System.Int32, System.Int32), Monster2> Data;
}
}

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

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 7198c6febd43b3e4e9bc3d03adee7ca6

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

@ -19,5 +19,7 @@ namespace Tools.ExcelResolver
public class MonsterUtil : SerializedScriptableObject, IExcelSOUtil
{
public Dictionary<(System.Int32, System.Int32), Monster> Data;
}
}

Loading…
Cancel
Save