56 lines
1.5 KiB
C#
56 lines
1.5 KiB
C#
|
|
#if !UNITY_6000_3_OR_NEWER
|
||
|
|
using UnityEditor;
|
||
|
|
|
||
|
|
using Unity.PlasticSCM.Editor;
|
||
|
|
using Unity.PlasticSCM.Editor.Configuration;
|
||
|
|
using Unity.PlasticSCM.Editor.Toolbar;
|
||
|
|
|
||
|
|
namespace Unity.Cloud.Collaborate
|
||
|
|
{
|
||
|
|
[InitializeOnLoad]
|
||
|
|
static class UVCSToolbarBoostrap
|
||
|
|
{
|
||
|
|
static UVCSToolbarBoostrap()
|
||
|
|
{
|
||
|
|
mDropDownButton = new UVCSToolbarButton(
|
||
|
|
UVCSToolbar.Controller.PopupClicked,
|
||
|
|
Toolbar.RepaintToolbar);
|
||
|
|
|
||
|
|
Toolbar.AddSubToolbar(mDropDownButton);
|
||
|
|
|
||
|
|
UVCSToolbar.Controller.OnToolbarInvalidated += ToolbarInvalidated;
|
||
|
|
UVCSToolbar.Controller.OnToolbarButtonInvalidated += ButtonInvalidated;
|
||
|
|
|
||
|
|
// Wait for editor to be ready to invalidate the button
|
||
|
|
Execute.WhenEditorIsReady(ButtonInvalidated);
|
||
|
|
}
|
||
|
|
|
||
|
|
static void ToolbarInvalidated()
|
||
|
|
{
|
||
|
|
Toolbar.RepaintToolbar();
|
||
|
|
}
|
||
|
|
|
||
|
|
static void ButtonInvalidated()
|
||
|
|
{
|
||
|
|
UVCSToolbarButtonData buttonData = UVCSToolbar.Controller.GetButtonData();
|
||
|
|
|
||
|
|
mDropDownButton.BeginUpdate();
|
||
|
|
|
||
|
|
try
|
||
|
|
{
|
||
|
|
mDropDownButton.Text = buttonData.Text;
|
||
|
|
mDropDownButton.Tooltip = buttonData.Tooltip;
|
||
|
|
mDropDownButton.Icon = buttonData.Icon;
|
||
|
|
mDropDownButton.IsVisible = buttonData.IsVisible;
|
||
|
|
}
|
||
|
|
finally
|
||
|
|
{
|
||
|
|
mDropDownButton.EndUpdate();
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
static UVCSToolbarButton mDropDownButton;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
#endif
|