LeviLamina
Loading...
Searching...
No Matches
ClientInputMappingFactory.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/input/GamePadRemappingLayout.h"
7#include "mc/deps/input/InputMappingFactory.h"
8
9// auto generated forward declare list
10// clang-format off
11class Config;
12class IOptionRegistry;
16struct InputMapping;
18// clang-format on
19
21public:
22 // ClientInputMappingFactory inner types define
23 using InputMappingMap = ::std::unordered_map<::std::string, ::InputMapping>;
24
25public:
26 // member variables
27 // NOLINTBEGIN
28 ::ll::TypedStorage<8, 64, ::std::unordered_map<::std::string, ::InputMapping>> mActiveInputMappings;
29 ::ll::TypedStorage<8, 64, ::std::unordered_map<::std::string, ::InputMapping>> mInputMappingTemplates;
30 ::ll::TypedStorage<1, 1, bool> mInvertYAxis;
31 ::ll::TypedStorage<1, 1, bool> mSwapGamepadButtonsXY;
32 ::ll::TypedStorage<1, 1, bool> mSwapGamepadButtonsAB;
33 ::ll::TypedStorage<4, 4, float> mSensitivity;
34 ::ll::TypedStorage<8, 128, ::GamePadRemappingLayout> mGameControllerRemappingLayout;
35 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::KeyboardRemappingLayout>> mKeyboardRemappingLayout;
36 // NOLINTEND
37
38public:
39 // prevent constructor by default
40 ClientInputMappingFactory();
41
42public:
43 // virtual functions
44 // NOLINTBEGIN
45 virtual ::InputMapping const* getMapping(::std::string const& mappingName) /*override*/;
46
47 virtual void createInputMappingTemplates(::IOptionRegistry& options) = 0;
48
49 virtual ::TouchInputMapping _createScreenTouchMapping() const;
50
51 virtual ::std::vector<::DeviceButtonMapping> _createScreenDeviceButtonMapping() const;
52
53 virtual void _updateKeyboardAndMouseControls(::IOptionRegistry& options) = 0;
54
55 virtual void _updateGameControllerControls() = 0;
56
57 virtual void _updateTouchMappingControls() = 0;
58 // NOLINTEND
59
60public:
61 // member functions
62 // NOLINTBEGIN
63 MCAPI explicit ClientInputMappingFactory(::std::weak_ptr<::KeyboardRemappingLayout> currentKeyboardLayout);
64
65 MCAPI void _activateMapping(::std::string const& mappingName);
66
67 MCAPI void _configureGameControllerMapping(::GameControllerInputMapping& mapping);
68
69 MCAPI ::InputMapping* _getMappingInternal(::std::string const& mappingName);
70
71 MCAPI void onConfigChanged(::Config const& config);
72 // NOLINTEND
73
74public:
75 // constructor thunks
76 // NOLINTBEGIN
77 MCAPI void* $ctor(::std::weak_ptr<::KeyboardRemappingLayout> currentKeyboardLayout);
78 // NOLINTEND
79
80public:
81 // virtual function thunks
82 // NOLINTBEGIN
83 MCAPI ::InputMapping const* $getMapping(::std::string const& mappingName);
84
85 MCAPI ::TouchInputMapping $_createScreenTouchMapping() const;
86
87 MCAPI ::std::vector<::DeviceButtonMapping> $_createScreenDeviceButtonMapping() const;
88 // NOLINTEND
89
90public:
91 // vftables
92 // NOLINTBEGIN
93 MCNAPI static void** $vftable();
94 // NOLINTEND
95};
Definition ClientInputMappingFactory.h:5
static MCAPI void ** $vftable()
Definition Config.h:5
Definition IOptionRegistry.h:5
Definition InputMappingFactory.h:5
Definition KeyboardRemappingLayout.h:5
Definition DeviceButtonMapping.h:5
Definition GameControllerInputMapping.h:5
Definition InputMapping.h:5
Definition TouchInputMapping.h:5