From 51fc4c68cdb8382579af5fe07798ff703b1c586c Mon Sep 17 00:00:00 2001 From: Wojtek Figat Date: Thu, 14 Dec 2023 11:04:24 +0100 Subject: [PATCH] Use tooltip from native function docs and support multiple colliders selected at once #2063 --- .../SceneGraph/Actors/BoxColliderNode.cs | 25 +++++++++++-------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/Source/Editor/SceneGraph/Actors/BoxColliderNode.cs b/Source/Editor/SceneGraph/Actors/BoxColliderNode.cs index 8c00318db..566cefb5e 100644 --- a/Source/Editor/SceneGraph/Actors/BoxColliderNode.cs +++ b/Source/Editor/SceneGraph/Actors/BoxColliderNode.cs @@ -7,15 +7,12 @@ using Real = System.Single; #endif using FlaxEngine; - -#if FLAX_EDITOR using FlaxEditor.CustomEditors.Dedicated; using FlaxEditor.CustomEditors; -#endif +using FlaxEditor.Scripting; namespace FlaxEditor.SceneGraph.Actors { -#if FLAX_EDITOR /// /// Dedicated custom editor for BoxCollider objects. /// @@ -26,14 +23,20 @@ namespace FlaxEditor.SceneGraph.Actors public override void Initialize(LayoutElementsContainer layout) { base.Initialize(layout); - layout.Space(20f); - var autoResizeButton = layout.Button("Resize to Fit", "Resize the box collider to fit it's parent's bounds."); - BoxCollider collider = Values[0] as BoxCollider; - autoResizeButton.Button.Clicked += collider.AutoResize; + layout.Space(20f); + layout.Button("Resize to Fit", Editor.Instance.CodeDocs.GetTooltip(new ScriptMemberInfo(typeof(BoxCollider).GetMethod("AutoResize")))).Button.Clicked += OnResizeClicked; + } + + private void OnResizeClicked() + { + foreach (var value in Values) + { + if (value is BoxCollider collider) + collider.AutoResize(); + } } } -#endif /// /// Scene tree node for actor type. @@ -67,8 +70,8 @@ namespace FlaxEditor.SceneGraph.Actors public override void PostSpawn() { base.PostSpawn(); - BoxCollider boxCollider = Actor as BoxCollider; - boxCollider.AutoResize(); + + ((BoxCollider)Actor).AutoResize(); } } }