2018-11-24 19:54:01 +00:00
|
|
|
// Distributed under the MIT License (MIT) (see accompanying LICENSE file)
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
2019-07-27 17:06:29 +00:00
|
|
|
#include <HAL/IConsoleManager.h>
|
2018-11-24 19:54:01 +00:00
|
|
|
|
|
|
|
|
2018-12-08 21:03:18 +00:00
|
|
|
struct FImGuiKeyInfo;
|
|
|
|
class FImGuiModuleProperties;
|
2018-11-25 20:36:55 +00:00
|
|
|
|
|
|
|
// Manges ImGui module console commands.
|
2018-11-24 19:54:01 +00:00
|
|
|
class FImGuiModuleCommands
|
|
|
|
{
|
2018-11-25 20:36:55 +00:00
|
|
|
public:
|
2018-11-24 19:54:01 +00:00
|
|
|
|
2018-12-08 21:03:18 +00:00
|
|
|
static const TCHAR* const ToggleInput;
|
|
|
|
static const TCHAR* const ToggleKeyboardNavigation;
|
|
|
|
static const TCHAR* const ToggleGamepadNavigation;
|
|
|
|
static const TCHAR* const ToggleKeyboardInputSharing;
|
|
|
|
static const TCHAR* const ToggleGamepadInputSharing;
|
2019-07-08 19:46:28 +00:00
|
|
|
static const TCHAR* const ToggleMouseInputSharing;
|
2024-11-23 23:27:50 +00:00
|
|
|
static const TCHAR* const ToggleDockingEnabled;
|
2022-04-01 18:41:38 +00:00
|
|
|
static const TCHAR* const SetMouseInputSharing;
|
2018-12-08 21:03:18 +00:00
|
|
|
static const TCHAR* const ToggleDemo;
|
2018-11-24 19:54:01 +00:00
|
|
|
|
2018-12-08 21:03:18 +00:00
|
|
|
FImGuiModuleCommands(FImGuiModuleProperties& InProperties);
|
2018-11-24 19:54:01 +00:00
|
|
|
|
2018-12-08 21:03:18 +00:00
|
|
|
void SetKeyBinding(const TCHAR* CommandName, const FImGuiKeyInfo& KeyInfo);
|
2018-11-24 19:54:01 +00:00
|
|
|
|
2018-12-08 21:03:18 +00:00
|
|
|
private:
|
2018-11-24 19:54:01 +00:00
|
|
|
|
2018-12-08 21:03:18 +00:00
|
|
|
void ToggleInputImpl();
|
|
|
|
void ToggleKeyboardNavigationImpl();
|
|
|
|
void ToggleGamepadNavigationImpl();
|
|
|
|
void ToggleKeyboardInputSharingImpl();
|
|
|
|
void ToggleGamepadInputSharingImpl();
|
2019-07-08 19:46:28 +00:00
|
|
|
void ToggleMouseInputSharingImpl();
|
2024-11-23 23:27:50 +00:00
|
|
|
void ToggleDockingEnabledImpl();
|
2022-04-01 18:41:38 +00:00
|
|
|
void SetMouseInputSharingImpl(const TArray< FString >& Args);
|
2018-12-08 21:03:18 +00:00
|
|
|
void ToggleDemoImpl();
|
2018-11-24 19:54:01 +00:00
|
|
|
|
2018-12-08 21:03:18 +00:00
|
|
|
FImGuiModuleProperties& Properties;
|
2018-11-25 20:36:55 +00:00
|
|
|
|
2018-11-24 19:54:01 +00:00
|
|
|
FAutoConsoleCommand ToggleInputCommand;
|
2018-11-25 19:11:48 +00:00
|
|
|
FAutoConsoleCommand ToggleKeyboardNavigationCommand;
|
|
|
|
FAutoConsoleCommand ToggleGamepadNavigationCommand;
|
2018-12-02 18:42:28 +00:00
|
|
|
FAutoConsoleCommand ToggleKeyboardInputSharingCommand;
|
|
|
|
FAutoConsoleCommand ToggleGamepadInputSharingCommand;
|
2019-07-08 19:46:28 +00:00
|
|
|
FAutoConsoleCommand ToggleMouseInputSharingCommand;
|
2024-11-23 23:27:50 +00:00
|
|
|
FAutoConsoleCommand ToggleDockingEnabledCommand;
|
2022-04-01 18:41:38 +00:00
|
|
|
FAutoConsoleCommand SetMouseInputSharingCommand;
|
2018-11-25 19:11:48 +00:00
|
|
|
FAutoConsoleCommand ToggleDemoCommand;
|
2018-11-24 19:54:01 +00:00
|
|
|
};
|