internal static bool GenerateMetadataEntityScripts()
{
var result = false;
var settings = MetadataAssetSettings.Load();
MetadataAssetSettings.CreateEntityScriptsStoreFolder(settings);
if (string.IsNullOrEmpty(settings.ExcelWorkbookFilesFolderPath))
{
if (UnityEditorUtility.DisplayDialog("Error", "'Excel Workbook Files Folder Path' is not valid path!", "OK"))
{
UnityEditorUtility.ClearProgressBar();
}
}
else
{
ForEachExcelFile(settings.ExcelWorkbookFilesFolderPath, (table, fileName, index, length) =>
{
if (table == null)
{
return;
}
var info = $"Generating Metadata Entity Script: {fileName}.cs... {index + 1}/{length}";
var progress = (float)(index + 1) / length;
UnityEditorUtility.DisplayProgressBar("Hold on...", info, progress);
var rawInfoList = CreateMetadataEntityRawInfoList(settings, table);
result = GenerateMetadataEntityScript(settings, fileName, rawInfoList);
});
}
UnityEditorUtility.ClearProgressBar();
return(result);
}