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++)
{
var assetName = $"{classCodeData.className}_{row}";
var fullPath = $"{path}{assetName}.asset";
// 跳过注释行
if (worksheet.Cells[row, 1].Text.StartsWith("##")) continue;
var assetName = getAssetName(worksheet, row, classCodeData);
var fullPath = $"{path}{assetName}.asset";
if (assets.ContainsKey(assetName))
{
@ -86,6 +87,32 @@ namespace Tools.ExcelResolver.Editor
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_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e8aa3c1560079b84cafbabe4bc0d2c8d, type: 3}
m_Name: Hero_7
m_Name: Hero_1
m_EditorClassIdentifier:
serializationData:
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
guid: acae57c5032fca54685e664fb60872d6
guid: 3b98756cd197195498b14b5e67935cbe
NativeFormatImporter:
externalObjects: {}
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_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e8aa3c1560079b84cafbabe4bc0d2c8d, type: 3}
m_Name: Hero_8
m_Name: Hero_2
m_EditorClassIdentifier:
serializationData:
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
guid: 031f6bc6b7884a54da49033ea61073a7
guid: cdde19489f16dce429041c1d6e207864
NativeFormatImporter:
externalObjects: {}
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_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e8aa3c1560079b84cafbabe4bc0d2c8d, type: 3}
m_Name: Hero_9
m_Name: Hero_3
m_EditorClassIdentifier:
serializationData:
SerializedFormat: 2
@ -79,7 +79,7 @@ MonoBehaviour:
- Name:
Entry: 8
Data:
id: 2
id: 3
name: "\u5973\u5DEB"
icon: hero_3
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
guid: f68d13699cf81a14a8e10092094b0f8d
guid: 934bc10c06f0592419baf474987cc0a7
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
Loading…
Cancel
Save