Skip to content

Commit f17ad7a

Browse files
committed
one pass processing
1 parent 7bb94f3 commit f17ad7a

File tree

1 file changed

+13
-6
lines changed

1 file changed

+13
-6
lines changed

Editor/EditorExtension.cs

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
#if UNITY_EDITOR
22

3-
using System.IO;
3+
using System.Collections.Generic;
44
using UnityEditor;
55

66
namespace SatorImaging.UnitySourceGenerator
77
{
8-
static class EditorExtension
8+
public static class EditorExtension
99
{
1010
const string ROOT_MENU = @"Assets/Unity Source Generator/";
1111
const string TEMPLATE_PATH = @"Packages/com.sator-imaging.alt-source-generator/Template/Template_";
@@ -16,16 +16,23 @@ static class EditorExtension
1616
[MenuItem(ROOT_MENU + "Force Generate while Overwriting Disabled")]
1717
static void ForceGenerateSelectedScripts()
1818
{
19+
if (Selection.assetGUIDs == null || Selection.assetGUIDs.Length == 0)
20+
return;
21+
1922
// NOTE: when multiple files selected, first import event initialize C# environment.
2023
// --> https://docs.unity3d.com/2021.3/Documentation/Manual/DomainReloading.html
21-
// need to use USGEngine.ProcessFile() instead.
24+
// so that need to process files at once.
25+
var filePathList = new List<string>(Selection.assetGUIDs.Length);
26+
2227
foreach (var guid in Selection.assetGUIDs)
2328
{
2429
var path = AssetDatabase.GUIDToAssetPath(guid);
25-
//USGEngine.IgnoreOverwriteSettingOnAttribute = true;
26-
//USGEngine.ProcessFile(path);
27-
USGUtility.ForceGenerateByName(Path.GetFileNameWithoutExtension(path), false);
30+
if (AssetDatabase.LoadAssetAtPath<MonoScript>(path) is not MonoScript)
31+
continue;
32+
33+
filePathList.Add(path);
2834
}
35+
USGEngine.Process(filePathList.ToArray(), true);
2936
}
3037

3138

0 commit comments

Comments
 (0)