Files
BookRPG/Library/PackageCache/com.unity.collab-proxy@0b1559bcd34e/Editor/SwitchUVCSPlugin.cs

66 lines
1.6 KiB
C#
Raw Normal View History

2026-07-16 21:49:59 +01:00
using Unity.PlasticSCM.Editor.Inspector.Properties;
using Unity.PlasticSCM.Editor.Settings;
using Unity.PlasticSCM.Editor.UI;
using UnityEditor;
namespace Unity.PlasticSCM.Editor
{
internal static class SwitchUVCSPlugin
{
internal static UVCSWindow On(UVCSPlugin uvcsPlugin)
{
uvcsPlugin.Enable();
UVCSWindow window = ShowWindow.UVCS();
UVCSPluginIsEnabledPreference.Enable();
return window;
}
internal static UVCSWindow OnIfNeeded(UVCSPlugin uvcsPlugin)
{
if (!UVCSPluginIsEnabledPreference.IsEnabled())
{
UVCSWindow result = On(uvcsPlugin);
ReloadSettings();
return result;
}
return ShowWindow.UVCS();
}
internal static void Off(UVCSPlugin uvcsPlugin)
{
UVCSPluginIsEnabledPreference.Disable();
CloseWindowIfOpened.UVCS();
CloseWindowIfOpened.BranchExplorer();
CleanSelectionIfNeeded();
uvcsPlugin.Shutdown();
}
static void ReloadSettings()
{
UVCSProjectSettingsProvider activeSettingsProvider =
UVCSPlugin.Instance.ActiveUVCSSettingsProvider;
if (activeSettingsProvider == null)
return;
activeSettingsProvider.ReloadSettings();
activeSettingsProvider.Repaint();
}
static void CleanSelectionIfNeeded()
{
if (!(Selection.activeObject is SelectedRepObjectInfoData))
return;
Selection.activeObject = null;
}
}
}