diff --git a/src/openrct2-ui/UiContext.cpp b/src/openrct2-ui/UiContext.cpp index 14eb4c0e56..fad17f5223 100644 --- a/src/openrct2-ui/UiContext.cpp +++ b/src/openrct2-ui/UiContext.cpp @@ -79,6 +79,7 @@ private: bool _steamOverlayActive = false; // Input + InputManager _inputManager; ShortcutManager _shortcutManager; TextComposition _textComposition; CursorState _cursorState = {}; @@ -97,6 +98,11 @@ public: return _inGameConsole; } + InputManager& GetInputManager() + { + return _inputManager; + } + ShortcutManager& GetShortcutManager() { return _shortcutManager; @@ -426,8 +432,7 @@ public: ie.Modifiers = SDL_GetModState(); ie.Button = e.button.button; ie.State = InputEventState::Down; - auto& inputManager = GetInputManager(); - inputManager.QueueInputEvent(std::move(ie)); + _inputManager.QueueInputEvent(std::move(ie)); } break; } @@ -463,8 +468,7 @@ public: ie.Modifiers = SDL_GetModState(); ie.Button = e.button.button; ie.State = InputEventState::Release; - auto& inputManager = GetInputManager(); - inputManager.QueueInputEvent(std::move(ie)); + _inputManager.QueueInputEvent(std::move(ie)); } break; } @@ -528,8 +532,7 @@ public: ie.Modifiers = e.key.keysym.mod; ie.Button = e.key.keysym.sym; ie.State = InputEventState::Down; - auto& inputManager = GetInputManager(); - inputManager.QueueInputEvent(std::move(ie)); + _inputManager.QueueInputEvent(std::move(ie)); } break; case SDL_KEYUP: @@ -539,8 +542,7 @@ public: ie.Modifiers = e.key.keysym.mod; ie.Button = e.key.keysym.sym; ie.State = InputEventState::Release; - auto& inputManager = GetInputManager(); - inputManager.QueueInputEvent(std::move(ie)); + _inputManager.QueueInputEvent(std::move(ie)); } break; case SDL_MULTIGESTURE: @@ -571,8 +573,7 @@ public: break; default: { - auto& inputManager = GetInputManager(); - inputManager.QueueInputEvent(e); + _inputManager.QueueInputEvent(e); break; } } @@ -960,6 +961,12 @@ InGameConsole& OpenRCT2::Ui::GetInGameConsole() return uiContext->GetInGameConsole(); } +InputManager& OpenRCT2::Ui::GetInputManager() +{ + auto uiContext = std::static_pointer_cast(GetContext()->GetUiContext()); + return uiContext->GetInputManager(); +} + ShortcutManager& OpenRCT2::Ui::GetShortcutManager() { auto uiContext = std::static_pointer_cast(GetContext()->GetUiContext()); diff --git a/src/openrct2-ui/input/InputManager.cpp b/src/openrct2-ui/input/InputManager.cpp index dd881c24cb..328729c7cc 100644 --- a/src/openrct2-ui/input/InputManager.cpp +++ b/src/openrct2-ui/input/InputManager.cpp @@ -380,10 +380,3 @@ bool InputManager::GetState(const ShortcutInput& shortcut) const } return false; } - -static InputManager _inputManager; - -InputManager& OpenRCT2::Ui::GetInputManager() -{ - return _inputManager; -} diff --git a/src/openrct2-ui/input/InputManager.h b/src/openrct2-ui/input/InputManager.h index 476a9f718d..7cd88e08d6 100644 --- a/src/openrct2-ui/input/InputManager.h +++ b/src/openrct2-ui/input/InputManager.h @@ -77,7 +77,4 @@ namespace OpenRCT2::Ui void QueueInputEvent(InputEvent&& e); void Process(); }; - - InputManager& GetInputManager(); - } // namespace OpenRCT2::Ui diff --git a/src/openrct2-ui/input/ShortcutManager.h b/src/openrct2-ui/input/ShortcutManager.h index 78c9e4acf2..41fcf22f80 100644 --- a/src/openrct2-ui/input/ShortcutManager.h +++ b/src/openrct2-ui/input/ShortcutManager.h @@ -139,5 +139,6 @@ namespace OpenRCT2::Ui static std::string_view GetLegacyShortcutId(size_t index); }; + InputManager& GetInputManager(); ShortcutManager& GetShortcutManager(); } // namespace OpenRCT2::Ui