Browse Source

通过键确定名称

main
coffee 5 months ago
parent
commit
60d3cc40d1
  1. 31
      Assets/Unity-Tools/ExcelResolver/Editor/ExcelResolverEditorWindow.WriteSOData.cs
  2. BIN
      Assets/_Project/ExcelResolver/Excel/hero.xlsx
  3. 2
      Assets/_Project/ScriptableObject/Excel/Hero/Hero_1.asset
  4. 2
      Assets/_Project/ScriptableObject/Excel/Hero/Hero_1.asset.meta
  5. 2
      Assets/_Project/ScriptableObject/Excel/Hero/Hero_2.asset
  6. 2
      Assets/_Project/ScriptableObject/Excel/Hero/Hero_2.asset.meta
  7. 4
      Assets/_Project/ScriptableObject/Excel/Hero/Hero_3.asset
  8. 2
      Assets/_Project/ScriptableObject/Excel/Hero/Hero_3.asset.meta

31
Assets/Unity-Tools/ExcelResolver/Editor/ExcelResolverEditorWindow.WriteSOData.cs

@ -41,10 +41,11 @@ namespace Tools.ExcelResolver.Editor
for (int row = 1; row <= worksheet.Dimension.End.Row; row++) for (int row = 1; row <= worksheet.Dimension.End.Row; row++)
{ {
var assetName = $"{classCodeData.className}_{row}";
var fullPath = $"{path}{assetName}.asset";
// 跳过注释行 // 跳过注释行
if (worksheet.Cells[row, 1].Text.StartsWith("##")) continue; if (worksheet.Cells[row, 1].Text.StartsWith("##")) continue;
var assetName = getAssetName(worksheet, row, classCodeData);
var fullPath = $"{path}{assetName}.asset";
if (assets.ContainsKey(assetName)) if (assets.ContainsKey(assetName))
{ {
@ -86,6 +87,32 @@ namespace Tools.ExcelResolver.Editor
fieldInfo.SetValue(instance, convertedValue); fieldInfo.SetValue(instance, convertedValue);
} }
} }
string getAssetName(ExcelWorksheet worksheet, int row, ClassCodeData classCodeData)
{
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.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}";
}
throw new Exception($"无法定义资产名称 " +
$"className: '<color=cyan>{classCodeData.className}</color>' " +
$"FullAddress: <color=cyan>{row}</color> ");
}
} }
} }
} }

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

Binary file not shown.

2
Assets/_Project/ScriptableObject/Excel/Hero/Hero_7.asset → Assets/_Project/ScriptableObject/Excel/Hero/Hero_1.asset

@ -10,7 +10,7 @@ MonoBehaviour:
m_Enabled: 1 m_Enabled: 1
m_EditorHideFlags: 0 m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e8aa3c1560079b84cafbabe4bc0d2c8d, type: 3} m_Script: {fileID: 11500000, guid: e8aa3c1560079b84cafbabe4bc0d2c8d, type: 3}
m_Name: Hero_7 m_Name: Hero_1
m_EditorClassIdentifier: m_EditorClassIdentifier:
serializationData: serializationData:
SerializedFormat: 2 SerializedFormat: 2

2
Assets/_Project/ScriptableObject/Excel/Hero/Hero_9.asset.meta → Assets/_Project/ScriptableObject/Excel/Hero/Hero_1.asset.meta

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: acae57c5032fca54685e664fb60872d6 guid: 3b98756cd197195498b14b5e67935cbe
NativeFormatImporter: NativeFormatImporter:
externalObjects: {} externalObjects: {}
mainObjectFileID: 11400000 mainObjectFileID: 11400000

2
Assets/_Project/ScriptableObject/Excel/Hero/Hero_8.asset → Assets/_Project/ScriptableObject/Excel/Hero/Hero_2.asset

@ -10,7 +10,7 @@ MonoBehaviour:
m_Enabled: 1 m_Enabled: 1
m_EditorHideFlags: 0 m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e8aa3c1560079b84cafbabe4bc0d2c8d, type: 3} m_Script: {fileID: 11500000, guid: e8aa3c1560079b84cafbabe4bc0d2c8d, type: 3}
m_Name: Hero_8 m_Name: Hero_2
m_EditorClassIdentifier: m_EditorClassIdentifier:
serializationData: serializationData:
SerializedFormat: 2 SerializedFormat: 2

2
Assets/_Project/ScriptableObject/Excel/Hero/Hero_7.asset.meta → Assets/_Project/ScriptableObject/Excel/Hero/Hero_2.asset.meta

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 031f6bc6b7884a54da49033ea61073a7 guid: cdde19489f16dce429041c1d6e207864
NativeFormatImporter: NativeFormatImporter:
externalObjects: {} externalObjects: {}
mainObjectFileID: 11400000 mainObjectFileID: 11400000

4
Assets/_Project/ScriptableObject/Excel/Hero/Hero_9.asset → Assets/_Project/ScriptableObject/Excel/Hero/Hero_3.asset

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

2
Assets/_Project/ScriptableObject/Excel/Hero/Hero_8.asset.meta → Assets/_Project/ScriptableObject/Excel/Hero/Hero_3.asset.meta

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: f68d13699cf81a14a8e10092094b0f8d guid: 934bc10c06f0592419baf474987cc0a7
NativeFormatImporter: NativeFormatImporter:
externalObjects: {} externalObjects: {}
mainObjectFileID: 11400000 mainObjectFileID: 11400000
Loading…
Cancel
Save