diff --git a/Source/Editor/Modules/UIModule.cs b/Source/Editor/Modules/UIModule.cs index fab73a004..e72d3bf04 100644 --- a/Source/Editor/Modules/UIModule.cs +++ b/Source/Editor/Modules/UIModule.cs @@ -162,6 +162,7 @@ namespace FlaxEditor.Modules var gizmo = Editor.MainTransformGizmo; var state = Editor.StateMachine.CurrentState; var canEditScene = state.CanEditScene; + var canUseUndoRedo = state.CanUseUndoRedo; var canEnterPlayMode = state.CanEnterPlayMode && Level.IsAnySceneLoaded; var isPlayMode = Editor.StateMachine.IsPlayMode; var isDuringBreakpointHang = Editor.Simulation.IsDuringBreakpointHang; @@ -170,8 +171,8 @@ namespace FlaxEditor.Modules // _toolStripSaveAll.Enabled = !isDuringBreakpointHang; // - _toolStripUndo.Enabled = canEditScene && undoRedo.CanUndo; - _toolStripRedo.Enabled = canEditScene && undoRedo.CanRedo; + _toolStripUndo.Enabled = canEditScene && undoRedo.CanUndo && canUseUndoRedo; + _toolStripRedo.Enabled = canEditScene && undoRedo.CanRedo && canUseUndoRedo; // var gizmoMode = gizmo.ActiveMode; _toolStripTranslate.Checked = gizmoMode == TransformGizmoBase.Mode.Translate; @@ -594,14 +595,15 @@ namespace FlaxEditor.Modules var undoRedo = Editor.Undo; var hasSthSelected = Editor.SceneEditing.HasSthSelected; - - bool canUndo = undoRedo.CanUndo; - _menuEditUndo.Enabled = canUndo; - _menuEditUndo.Text = canUndo ? string.Format("Undo \'{0}\'", undoRedo.FirstUndoName) : "No undo"; - - bool canRedo = undoRedo.CanRedo; - _menuEditRedo.Enabled = canRedo; - _menuEditRedo.Text = canRedo ? string.Format("Redo \'{0}\'", undoRedo.FirstRedoName) : "No redo"; + var state = Editor.StateMachine.CurrentState; + var canEditScene = state.CanEditScene; + var canUseUndoRedo = state.CanUseUndoRedo; + + _menuEditUndo.Enabled = canEditScene && canUseUndoRedo && undoRedo.CanUndo; + _menuEditUndo.Text = undoRedo.CanUndo ? string.Format("Undo \'{0}\'", undoRedo.FirstUndoName) : "No undo"; + + _menuEditRedo.Enabled = canEditScene && canUseUndoRedo && undoRedo.CanRedo; + _menuEditRedo.Text = undoRedo.CanRedo ? string.Format("Redo \'{0}\'", undoRedo.FirstRedoName) : "No redo"; _menuEditCut.Enabled = hasSthSelected; _menuEditCopy.Enabled = hasSthSelected; diff --git a/Source/Editor/States/PlayingState.cs b/Source/Editor/States/PlayingState.cs index 599150a57..4c9a566fd 100644 --- a/Source/Editor/States/PlayingState.cs +++ b/Source/Editor/States/PlayingState.cs @@ -28,6 +28,9 @@ namespace FlaxEditor.States /// public override bool CanEditScene => true; + /// + public override bool CanUseUndoRedo => false; + /// public override bool CanEnterPlayMode => true;