LeviLamina
Loading...
Searching...
No Matches
KeyboardMapper.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/NonOwnerPointer.h"
7#include "mc/deps/input/InputDeviceMapper.h"
8#include "mc/deps/input/InputMode.h"
9
10// auto generated forward declare list
11// clang-format off
12class BindingFactory;
13class InputEventQueue;
14struct ControllerIDtoClientMap;
15struct InputMapping;
16// clang-format on
17
19public:
20 // KeyboardMapper inner types declare
21 // clang-format off
22 struct KeyboardKeyButtonDetails;
23 struct KeyboardMappingData;
24 // clang-format on
25
26 // KeyboardMapper inner types define
28
30
31 using KeyboardKeyId = int;
32
33 using KeyToButtonDetailsMap = ::std::unordered_multimap<int, ::KeyboardMapper::KeyboardKeyButtonDetails>;
34
35public:
36 // member variables
37 // NOLINTBEGIN
38 ::ll::TypedStorage<8, 64, ::std::unordered_map<int, ::KeyboardMapper::KeyboardMappingData>> mPerIdMappings;
39 // NOLINTEND
40
41public:
42 // virtual functions
43 // NOLINTBEGIN
44 virtual void setMapping(
45 ::InputEventQueue& eventQueue,
46 ::BindingFactory const& bindingFactory,
47 ::InputMapping const& inputMapping,
48 int controllerId
49 ) /*override*/;
50
51 virtual void clearMapping(int controllerId) /*override*/;
52
53 virtual void clearInputDeviceQueue() /*override*/;
54
55 virtual bool tick(
56 ::InputEventQueue& eventQueue,
57 ::Bedrock::NotNullNonOwnerPtr<::ControllerIDtoClientMap> const& map
58 ) /*override*/;
59
60 virtual ::InputMode getInputMode() const /*override*/;
61
62 virtual void changeControllerId(int oldId, int newId) /*override*/;
63
64 virtual ~KeyboardMapper() /*override*/ = default;
65 // NOLINTEND
66
67public:
68 // virtual function thunks
69 // NOLINTBEGIN
70 MCAPI void $setMapping(
71 ::InputEventQueue& eventQueue,
72 ::BindingFactory const& bindingFactory,
73 ::InputMapping const& inputMapping,
74 int controllerId
75 );
76
77 MCAPI void $clearMapping(int controllerId);
78
79 MCAPI void $clearInputDeviceQueue();
80
81 MCAPI bool
82 $tick(::InputEventQueue& eventQueue, ::Bedrock::NotNullNonOwnerPtr<::ControllerIDtoClientMap> const& map);
83
84 MCFOLD ::InputMode $getInputMode() const;
85
86 MCAPI void $changeControllerId(int oldId, int newId);
87 // NOLINTEND
88
89public:
90 // vftables
91 // NOLINTBEGIN
92 MCNAPI static void** $vftable();
93 // NOLINTEND
94};
Definition BindingFactory.h:5
Definition InputDeviceMapper.h:5
Definition InputEventQueue.h:5
Definition KeyboardMapper.h:5
static MCAPI void ** $vftable()
Definition InputMapping.h:5
Definition KeyboardMapper.h:27
Definition KeyboardMapper.h:29