diff --git a/Source/Editor/GUI/Tree/Tree.cs b/Source/Editor/GUI/Tree/Tree.cs index 3a9780ed9..e86e1382a 100644 --- a/Source/Editor/GUI/Tree/Tree.cs +++ b/Source/Editor/GUI/Tree/Tree.cs @@ -19,7 +19,7 @@ namespace FlaxEditor.GUI.Tree /// /// The key updates timeout in seconds. /// - public static float KeyUpdateTimeout = 0.12f; + public static float KeyUpdateTimeout = 0.25f; /// /// Delegate for selected tree nodes collection change. @@ -113,7 +113,7 @@ namespace FlaxEditor.GUI.Tree AutoFocus = false; _supportMultiSelect = supportMultiSelect; - _keyUpdateTime = KeyUpdateTimeout * 10; + _keyUpdateTime = KeyUpdateTimeout; } internal void OnRightClickInternal(TreeNode node, ref Float2 location) @@ -347,10 +347,12 @@ namespace FlaxEditor.GUI.Tree if (ContainsFocus && node != null && node.AutoFocus) { var window = Root; + if (window.GetKeyDown(KeyboardKeys.ArrowUp) || window.GetKeyDown(KeyboardKeys.ArrowDown)) + _keyUpdateTime = KeyUpdateTimeout; if (_keyUpdateTime >= KeyUpdateTimeout && window is WindowRootControl windowRoot && windowRoot.Window.IsFocused) { - bool keyUpArrow = window.GetKeyDown(KeyboardKeys.ArrowUp); - bool keyDownArrow = window.GetKeyDown(KeyboardKeys.ArrowDown); + bool keyUpArrow = window.GetKey(KeyboardKeys.ArrowUp); + bool keyDownArrow = window.GetKey(KeyboardKeys.ArrowDown); // Check if arrow flags are different if (keyDownArrow != keyUpArrow)