From 0042ee3b585a296bba506bba52089deeefa147b5 Mon Sep 17 00:00:00 2001 From: CrispyPin Date: Tue, 25 Apr 2023 18:41:02 +0200 Subject: [PATCH] don't reset positions while hidden --- src/app.cpp | 47 +++++++++++++++++++++++++++-------------------- src/app.h | 1 + 2 files changed, 28 insertions(+), 20 deletions(-) diff --git a/src/app.cpp b/src/app.cpp index 25dea85..2268f74 100644 --- a/src/app.cpp +++ b/src/app.cpp @@ -162,31 +162,38 @@ void App::UpdateInput() { panel.SetHidden(_hidden); } - _root_overlay.SetHidden(_hidden || !_edit_mode); - _controllers[0]->SetHidden(_hidden || !_edit_mode); - _controllers[1]->SetHidden(_hidden || !_edit_mode); + UpdateUIVisibility(); } - if (IsInputJustPressed(_input_handles.reset)) + if (!_hidden) { - _root_overlay.SetTransformWorld(&root_start_pose); - _root_overlay.SetWidth(0.25f); - for (auto &panel : _panels) + if (IsInputJustPressed(_input_handles.reset)) { - panel.ResetTransform(); + _root_overlay.SetTransformWorld(&root_start_pose); + _root_overlay.SetWidth(0.25f); + for (auto &panel : _panels) + { + panel.ResetTransform(); + } + } + if (IsInputJustPressed(_input_handles.edit_mode)) + { + _edit_mode = !_edit_mode; + UpdateUIVisibility(); + } + if (_edit_mode) + { + _controllers[0]->Update(); + _controllers[1]->Update(); } } - if (!_hidden && IsInputJustPressed(_input_handles.edit_mode)) - { - _edit_mode = !_edit_mode; - _root_overlay.SetHidden(_hidden || !_edit_mode); - _controllers[0]->SetHidden(_hidden || !_edit_mode); - _controllers[1]->SetHidden(_hidden || !_edit_mode); - } - if (_edit_mode) - { - _controllers[0]->Update(); - _controllers[1]->Update(); - } +} + +void App::UpdateUIVisibility() +{ + bool state = _hidden || !_edit_mode; + _root_overlay.SetHidden(state); + _controllers[0]->SetHidden(state); + _controllers[1]->SetHidden(state); } void App::UpdateFramebuffer() diff --git a/src/app.h b/src/app.h index e1cfab1..9acb260 100644 --- a/src/app.h +++ b/src/app.h @@ -78,4 +78,5 @@ class App void UpdateFramebuffer(); void UpdateInput(); + void UpdateUIVisibility(); }; \ No newline at end of file