From dacc0068e0e76c2c93cfa8b9bb96f0bfec04a261 Mon Sep 17 00:00:00 2001 From: xxSeys1 Date: Tue, 10 Jun 2025 16:49:30 +0200 Subject: [PATCH] dont scroll to node after scripts compilation --- Source/Editor/Windows/SceneTreeWindow.cs | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/Source/Editor/Windows/SceneTreeWindow.cs b/Source/Editor/Windows/SceneTreeWindow.cs index 999be7f94..80b709eb6 100644 --- a/Source/Editor/Windows/SceneTreeWindow.cs +++ b/Source/Editor/Windows/SceneTreeWindow.cs @@ -27,7 +27,7 @@ namespace FlaxEditor.Windows private Panel _sceneTreePanel; private bool _isUpdatingSelection; private bool _isMouseDown; - private bool _isPlayStateChanging = false; + private bool _blockSceneTreeScroll = false; private DragAssets _dragAssets; private DragActorType _dragActorType; @@ -94,10 +94,10 @@ namespace FlaxEditor.Windows _tree.Parent = _sceneTreePanel; headerPanel.Parent = this; - Editor.PlayModeBeginning += () => _isPlayStateChanging = true; - Editor.PlayModeBegin += () => _isPlayStateChanging = false; - Editor.PlayModeEnding += () => _isPlayStateChanging = true; - Editor.PlayModeEnd += () => _isPlayStateChanging = false; + Editor.PlayModeBeginning += () => _blockSceneTreeScroll = true; + Editor.PlayModeBegin += () => _blockSceneTreeScroll = false; + Editor.PlayModeEnding += () => _blockSceneTreeScroll = true; + Editor.PlayModeEnd += () => _blockSceneTreeScroll = false; // Setup input actions InputActions.Add(options => options.TranslateMode, () => Editor.MainTransformGizmo.ActiveMode = TransformGizmoBase.Mode.Translate); @@ -256,7 +256,7 @@ namespace FlaxEditor.Windows _tree.Select(nodes); // For single node selected scroll view so user can see it - if (nodes.Count == 1 && !_isPlayStateChanging) + if (nodes.Count == 1 && !_blockSceneTreeScroll) { nodes[0].ExpandAllParents(true); _sceneTreePanel.ScrollViewTo(nodes[0]); @@ -266,6 +266,12 @@ namespace FlaxEditor.Windows _isUpdatingSelection = false; } + /// + public override void OnEditorStateChanged() + { + _blockSceneTreeScroll = Editor.StateMachine.ReloadingScriptsState.IsActive; + } + private bool ValidateDragAsset(AssetItem assetItem) { if (assetItem.IsOfType())