Maze / Library /PackageCache /com.unity.collab-proxy@2.0.4 /Editor /PlasticSCM /Toolbar /ToolbarButton.cs
| using UnityEditor; | |
| using UnityEngine; | |
| using PlasticGui; | |
| using Unity.PlasticSCM.Editor; | |
| using Unity.PlasticSCM.Editor.UI; | |
| namespace Unity.Cloud.Collaborate | |
| { | |
| [] | |
| internal static class ToolbarBootstrap | |
| { | |
| static ToolbarBootstrap() | |
| { | |
| CooldownWindowDelayer cooldownInitializeAction = new CooldownWindowDelayer( | |
| ToolbarButton.InitializeIfNeeded, UnityConstants.PLUGIN_DELAYED_INITIALIZE_INTERVAL); | |
| cooldownInitializeAction.Ping(); | |
| } | |
| } | |
| internal class ToolbarButton : SubToolbar | |
| { | |
| internal static void InitializeIfNeeded() | |
| { | |
| if (CollabPlugin.IsEnabled()) | |
| return; | |
| ToolbarButton toolbar = new ToolbarButton { Width = 32f }; | |
| Toolbar.AddSubToolbar(toolbar); | |
| } | |
| ToolbarButton() | |
| { | |
| PlasticPlugin.OnNotificationUpdated += OnPlasticNotificationUpdated; | |
| } | |
| ~ToolbarButton() | |
| { | |
| PlasticPlugin.OnNotificationUpdated -= OnPlasticNotificationUpdated; | |
| } | |
| void OnPlasticNotificationUpdated() | |
| { | |
| Toolbar.RepaintToolbar(); | |
| } | |
| public override void OnGUI(Rect rect) | |
| { | |
| using (new EditorGUI.DisabledScope(EditorApplication.isPlaying)) | |
| { | |
| Texture icon = PlasticPlugin.GetPluginStatusIcon(); | |
| EditorGUIUtility.SetIconSize(new Vector2(16, 16)); | |
| mButtonGUIContent.image = icon; | |
| if (GUI.Button(rect, mButtonGUIContent, "AppCommand")) | |
| { | |
| PlasticPlugin.OpenPlasticWindowDisablingOfflineModeIfNeeded(); | |
| } | |
| EditorGUIUtility.SetIconSize(Vector2.zero); | |
| } | |
| } | |
| static GUIContent mButtonGUIContent = new GUIContent( | |
| string.Empty, PlasticLocalization.GetString( | |
| PlasticLocalization.Name.UnityVersionControl)); | |
| } | |
| } | |