3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/gui/ViewRequest.h"
7#include "mc/client/gui/screens/controllers/SettingsScreenControllerBase.h"
8#include "mc/client/input/KeyboardType.h"
9#include "mc/deps/input/InputBindingMode.h"
10#include "mc/deps/input/InputMode.h"
11#include "mc/options/option_types/OptionID.h"
35 ::ll::TypedStorage<8, 32, ::std::string> mAction;
36 ::ll::TypedStorage<8, 32, ::std::string> mIcon;
37 ::ll::TypedStorage<8, 24, ::std::vector<int>> mKeys;
38 ::ll::TypedStorage<1, 1, bool> mActive;
39 ::ll::TypedStorage<4, 4, int> mLayoutIndex;
55 ::ll::TypedStorage<8, 24, ::std::vector<::ControlsSettingsScreenController::BindingInfo>> mBindings;
56 ::ll::TypedStorage<8, 32, ::std::string> mGridDimensionName;
57 ::ll::TypedStorage<8, 32, ::std::string> mCollectionName;
64 ::ll::TypedStorage<4, 4, ::KeyboardType const> mType;
65 ::ll::TypedStorage<8, 8, ::KeyboardRemappingLayout&> mLayout;
66 ::ll::TypedStorage<8, 88, ::ControlsSettingsScreenController::KeyboardLayoutInfo::BindingInfoCollection>
68 ::ll::TypedStorage<8, 88, ::ControlsSettingsScreenController::KeyboardLayoutInfo::BindingInfoCollection>
70 ::ll::TypedStorage<8, 88, ::ControlsSettingsScreenController::KeyboardLayoutInfo::BindingInfoCollection>
76 KeyboardLayoutInfo& operator=(KeyboardLayoutInfo
const&);
77 KeyboardLayoutInfo(KeyboardLayoutInfo
const&);
84 ::ll::TypedStorage<8, 8, ::GamePadRemappingLayout&> mGamepadLayout;
85 ::ll::TypedStorage<8, 24, ::std::vector<::ControlsSettingsScreenController::BindingInfo>> mGamepadBindings;
86 ::ll::TypedStorage<4, 4, ::KeyboardType> mCurrentKeyboardType;
87 ::ll::TypedStorage<8, 24, ::std::vector<::ControlsSettingsScreenController::KeyboardLayoutInfo>>
88 mKeyboardLayoutInformation;
89 ::ll::TypedStorage<4, 4, int> mSelectedIndex;
90 ::ll::TypedStorage<4, 4, ::InputBindingMode> mActiveBindingMode;
91 ::ll::TypedStorage<8, 8, ::std::vector<::std::string>
const&> mDisabledInputMappings;
92 ::ll::TypedStorage<1, 1, bool> mCustomizeControlsDisableHover;
93 ::ll::TypedStorage<8, 320, ::std::array<::std::string, 10>> mCommandMacroCommands;
98 ControlsSettingsScreenController& operator=(ControlsSettingsScreenController
const&);
99 ControlsSettingsScreenController(ControlsSettingsScreenController
const&);
100 ControlsSettingsScreenController();
105 virtual ~ControlsSettingsScreenController() =
default;
107 virtual void _registerControllerCallbacks();
109 virtual void onTerminate() ;
111 virtual bool canExit() ;
117 MCAPI ControlsSettingsScreenController(
118 ::std::shared_ptr<::MainMenuScreenModel> model,
119 ::std::vector<::std::string>
const& disabledInputMappings
122 MCFOLD
bool _commandMacrosAllowed()
const;
124 MCAPI
void _generateBindingInfo(
125 ::std::vector<::ControlsSettingsScreenController::BindingInfo>& bindings,
126 ::RemappingLayout& layout,
127 uint layoutStartIndex
130 MCAPI
void _generateKeyboardBindingInfo(
131 ::ControlsSettingsScreenController::KeyboardLayoutInfo& keyboardInfo,
132 uint layoutStartIndex
135 MCAPI ::std::string _getBindingText(
136 ::std::vector<::ControlsSettingsScreenController::BindingInfo>& bindings,
138 ::RemappingLayout& layout
141 MCAPI ::std::string _getIconSprite(
142 ::std::vector<::ControlsSettingsScreenController::BindingInfo>& bindings,
144 ::RemappingLayout& layout
147 MCAPI
int _getIndexAdjustmentOffsetFromCollectionGroup(::std::string
const& collectionGroup,
int gridIndex);
150 _mapRawInputToLayout(::RemappingLayout& layout,
int keymappingIndex, ::RawInputScreenEventData& rawInputData);
152 MCAPI ::ui::ViewRequest _resetAllBindingsToDefault(::InputMode inputMode);
154 MCAPI
void _setCommandMacroCommandAtIndex(
int collectionIndex, ::std::string
const command);
157 setUpCallbacksForBooleanInputOption(::OptionID optionID, ::InputMode inputMode, ::std::string
const& toggleName);
160 setUpCallbacksForFloatInputOption(::OptionID optionID, ::InputMode inputMode, ::std::string
const& sliderName);
166 MCAPI
static bool _canSetCommandMacroCommandAtIndex(
168 ::ControlsSettingsScreenController::KeyboardLayoutInfo& layout
175 MCAPI static ::std::function<::std::string(::std::string
const&,
float,
bool)>& floatSliderLabellerAsInt();
177 MCAPI static ::std::function<::std::string(::std::string
const&,
float,
bool)>& floatSliderLabellerAsPercentInt();
184 $ctor(::std::shared_ptr<::MainMenuScreenModel> model, ::std::vector<::std::string>
const& disabledInputMappings);
190 MCAPI
void $_registerControllerCallbacks();
192 MCAPI
void $onTerminate();
194 MCAPI
bool $canExit();
Definition ControlsSettingsScreenController.h:5
Definition GamePadRemappingLayout.h:5
Definition KeyboardRemappingLayout.h:5
Definition MainMenuScreenModel.h:5
Definition RemappingLayout.h:5
Definition SettingsScreenControllerBase.h:5
Definition ControlsSettingsScreenController.h:14
Definition ControlsSettingsScreenController.h:24
Definition ControlsSettingsScreenController.h:16