From 67aa03794e90e5aeaeae3116e83d29049a6e3259 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mi=C5=82osz=20Matkowski?= Date: Thu, 7 Nov 2024 15:54:41 +0100 Subject: [PATCH] Possibily to force Toolbar repaint externally --- .../Editor/ToolboxEditorToolbar.cs | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/Assets/Editor Toolbox/Editor/ToolboxEditorToolbar.cs b/Assets/Editor Toolbox/Editor/ToolboxEditorToolbar.cs index 2b5e471e..bf5285f7 100644 --- a/Assets/Editor Toolbox/Editor/ToolboxEditorToolbar.cs +++ b/Assets/Editor Toolbox/Editor/ToolboxEditorToolbar.cs @@ -46,6 +46,9 @@ static ToolboxEditorToolbar() private static readonly FieldInfo onGuiHandler = containterType.GetField("m_OnGUIHandler", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance); + private static readonly MethodInfo repaintMethod = toolbarType.GetMethod("RepaintToolbar", + BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static); + private static Object toolbar; private static IEnumerator Initialize() @@ -106,7 +109,7 @@ private static IEnumerator Initialize() private static void OnGui() { - if (!IsToolbarAllowed || OnToolbarGui == null) + if (!IsToolbarAllowed || !IsToolbarValid) { return; } @@ -142,9 +145,18 @@ private static void OnGui() #endif } + public static void Repaint() + { + if (toolbar == null) + { + return; + } + + repaintMethod?.Invoke(toolbar, null); + } public static bool IsToolbarAllowed { get; set; } = true; - + public static bool IsToolbarValid => toolbar != null && OnToolbarGui != null; public static float FromToolsOffset { get; set; } = 400.0f; public static float FromStripOffset { get; set; } = 150.0f;