module-navigation-tool/Editor/Toolbar/MainToolbarElements/Handlers/MainToolbarScenePickerPostProcess.cs

23 lines
759 B
C#

#if UNITY_6000_3_OR_NEWER
using System.Linq;
using UnityEditor;
namespace Module.NavigationTool.Editor.Toolbar
{
internal sealed class MainToolbarScenePickerPostProcess : AssetPostprocessor
{
private static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths)
{
if (HasChange(deletedAssets) || HasChange(movedAssets) || HasChange(importedAssets))
MainToolbarScenePickerElement.Refresh();
}
private static bool HasChange(string[] assets)
{
return assets.Any(s => s.EndsWith(".unity")) ||
assets.Any(s => s.EndsWith("EditorBuildSettings.asset"));
}
}
}
#endif