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 IOptionRegistry;
14struct InputMapping;
16// clang-format on
17
19public:
20 // ClientInputMappingFactory inner types define
21 using InputMappingMap = ::std::unordered_map<::std::string, ::InputMapping>;
22
23public:
24 // member variables
25 // NOLINTBEGIN
26 ::ll::TypedStorage<8, 64, ::std::unordered_map<::std::string, ::InputMapping>> mActiveInputMappings;
27 ::ll::TypedStorage<8, 64, ::std::unordered_map<::std::string, ::InputMapping>> mInputMappingTemplates;
28 ::ll::TypedStorage<1, 1, bool> mInvertYAxis;
29 ::ll::TypedStorage<1, 1, bool> mSwapGamepadButtonsXY;
30 ::ll::TypedStorage<1, 1, bool> mSwapGamepadButtonsAB;
31 ::ll::TypedStorage<4, 4, float> mSensitivity;
32 ::ll::TypedStorage<8, 128, ::GamePadRemappingLayout> mGameControllerRemappingLayout;
33 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::KeyboardRemappingLayout>> mKeyboardRemappingLayout;
34 // NOLINTEND
35
36public:
37 // prevent constructor by default
38 ClientInputMappingFactory();
39
40public:
41 // virtual functions
42 // NOLINTBEGIN
43 virtual ::InputMapping const* getMapping(::std::string const& mappingName) /*override*/;
44
45 virtual void createInputMappingTemplates(::IOptionRegistry& options) = 0;
46
47 virtual ::TouchInputMapping _createScreenTouchMapping() const;
48
49 virtual ::std::vector<::DeviceButtonMapping> _createScreenDeviceButtonMapping() const;
50
51 virtual void _updateKeyboardAndMouseControls(::IOptionRegistry& options) = 0;
52
53 virtual void _updateGameControllerControls() = 0;
54
55 virtual void _updateTouchMappingControls() = 0;
56 // NOLINTEND
57
58public:
59 // member functions
60 // NOLINTBEGIN
61 MCAPI explicit ClientInputMappingFactory(::std::weak_ptr<::KeyboardRemappingLayout> currentKeyboardLayout);
62
63 MCAPI void _activateMapping(::std::string const& mappingName);
64
65 MCAPI ::InputMapping* _getMappingInternal(::std::string const& mappingName);
66 // NOLINTEND
67
68public:
69 // constructor thunks
70 // NOLINTBEGIN
71 MCAPI void* $ctor(::std::weak_ptr<::KeyboardRemappingLayout> currentKeyboardLayout);
72 // NOLINTEND
73
74public:
75 // virtual function thunks
76 // NOLINTBEGIN
77 MCAPI ::InputMapping const* $getMapping(::std::string const& mappingName);
78
79 MCAPI ::TouchInputMapping $_createScreenTouchMapping() const;
80
81 MCAPI ::std::vector<::DeviceButtonMapping> $_createScreenDeviceButtonMapping() const;
82 // NOLINTEND
83
84public:
85 // vftables
86 // NOLINTBEGIN
87 MCNAPI static void** $vftable();
88 // NOLINTEND
89};
Definition ClientInputMappingFactory.h:5
static MCAPI void ** $vftable()
Definition IOptionRegistry.h:5
Definition InputMappingFactory.h:5
Definition KeyboardRemappingLayout.h:5
Definition DeviceButtonMapping.h:5
Definition InputMapping.h:5
Definition TouchInputMapping.h:5