From 55fd19810200b193e4b85d1ce3b7c47873ac51a6 Mon Sep 17 00:00:00 2001 From: Amir Alizadeh Date: Sun, 19 Jan 2025 23:55:23 +0330 Subject: [PATCH] Add raycast-first priority to the `UIEditorGizmo` --- Source/Editor/Gizmo/UIEditorGizmo.cs | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/Source/Editor/Gizmo/UIEditorGizmo.cs b/Source/Editor/Gizmo/UIEditorGizmo.cs index aba177b7d..0b8994577 100644 --- a/Source/Editor/Gizmo/UIEditorGizmo.cs +++ b/Source/Editor/Gizmo/UIEditorGizmo.cs @@ -714,16 +714,15 @@ namespace FlaxEditor private bool RayCastControl(ref Float2 location, out Control hit) { -#if false - // Raycast only controls with content (eg. skips transparent panels) - return RayCastChildren(ref location, out hit); -#else - // Find any control under mouse (hierarchical) - hit = GetChildAtRecursive(location); + // First, raycast only controls with content (eg. skips transparent panels) + RayCastChildren(ref location, out hit); + + // If raycast failed, then find any control under mouse (hierarchical) + hit = hit ?? GetChildAtRecursive(location); if (hit is View || hit is CanvasContainer) hit = null; + return hit != null; -#endif } private UIControlNode FindUIControlNode(Control control)