Files
beyond/Assets/Plugins/Editor/JetBrains.RiderFlow/2020.2/EntryPoint.cs
2024-11-20 15:21:28 +01:00

48 lines
1.4 KiB
C#

using JetBrains.RiderFlow.Core.Launchers;
using JetBrains.RiderFlow.Core.ReEditor.Notifications;
using JetBrains.RiderFlow.Core.Services.Caches.RecentFiles;
using JetBrains.RiderFlow.Core.UI.SearchEverywhere;
using UnityEditor;
namespace JetBrains.RiderFlow.Since2020_2
{
[InitializeOnLoad]
public class DelayedEntryPoint
{
static DelayedEntryPoint()
{
SearchEverywhereWindow.Settings = SearchWindowSettings.instance;
RecentFilesCacheController.Cache = RecentFilesCache.instance;
ProgressManagerOwner.ProgressManager = new ProgressManager();
EditorApplication.delayCall += OnEnable;
}
protected static void OnEnable()
{
if (!IsPrimaryUnityProcess())
return;
Launcher.Run();
}
private static bool IsPrimaryUnityProcess()
{
if (AssetDatabase.IsAssetImportWorkerProcess())
return false;
#if UNITY_2021_1_OR_NEWER
if (UnityEditor.MPE.ProcessService.level == UnityEditor.MPE.ProcessLevel.Secondary)
return false;
#elif UNITY_2020_2_OR_NEWER
if (UnityEditor.MPE.ProcessService.level == UnityEditor.MPE.ProcessLevel.Slave)
return false;
#elif UNITY_2020_1_OR_NEWER
if (Unity.MPE.ProcessService.level == Unity.MPE.ProcessLevel.UMP_SLAVE)
return false;
#endif
return true;
}
}
}