LeviLamina
Loading...
Searching...
No Matches
GameControllerManager.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/common/SubClientId.h"
7#include "mc/deps/input/interface/ControllerRefreshState.h"
8#include "mc/deps/input/interface/GameControllerButtonState.h"
9#include "mc/deps/input/interface/GameControllerErrorType.h"
10#include "mc/deps/input/interface/GameControllerStickState.h"
11#include "mc/deps/input/interface/IGameControllerManager.h"
12
13// auto generated forward declare list
14// clang-format off
15class GameController;
16class IGameController;
17// clang-format on
18
20public:
21 // member variables
22 // NOLINTBEGIN
23 ::ll::TypedStorage<8, 24, ::std::vector<::std::shared_ptr<::GameController>>> mGameControllers;
24 ::ll::TypedStorage<8, 8, uint64> mMaxGameControllerButtons;
25 ::ll::TypedStorage<1, 1, bool> mIsActive;
26 ::ll::TypedStorage<8, 24, ::std::vector<void const*>> mConsumerRegistry;
27 ::ll::TypedStorage<4, 4, ::ControllerRefreshState> mControllerRefreshState;
28 ::ll::TypedStorage<1, 1, uchar> mClientControllerCount;
29 ::ll::TypedStorage<8, 64, ::std::function<::GameControllerErrorType()>>
30 mPlatformSpecificControllerErrorRetrievalFunc;
31 // NOLINTEND
32
33public:
34 // virtual functions
35 // NOLINTBEGIN
36 virtual ~GameControllerManager() /*override*/;
37
38 virtual ::std::weak_ptr<::IGameController> getGameController(int id) /*override*/;
39
40 virtual ::std::vector<::std::weak_ptr<::IGameController>> getConnectedGameControllers() /*override*/;
41
42 virtual ::std::vector<::std::weak_ptr<::IGameController>> getGameControllersInUse() /*override*/;
43
44 virtual bool hasAdequateConnectedGameController() const /*override*/;
45
46 virtual bool hasAdequateConnectedGameControllers(uint64 const playerCount) const /*override*/;
47
48 virtual uint64 getMaxGameControllerButtons() const /*override*/;
49
50 virtual void registerConsumer(void const* token) /*override*/;
51
52 virtual void unregisterConsumer(void const* token) /*override*/;
53
54 virtual void setControllerRefreshState(::ControllerRefreshState state) /*override*/;
55
56 virtual ::ControllerRefreshState getControllerRefreshState() const /*override*/;
57
58 virtual ::GameControllerErrorType getPlatformSpecificControllerError() const /*override*/;
59
60 virtual void
61 setPlatformSpecificControllerErrorRetrievalFunc(::std::function<::GameControllerErrorType()>&& lambda) /*override*/;
62
63 virtual void resetClientControllerCount() /*override*/;
64
65 virtual void
66 addClientHasAdequateConnectedController(int id, bool const isAdequate, ::SubClientId clientId) /*override*/;
67 // NOLINTEND
68
69public:
70 // member functions
71 // NOLINTBEGIN
72 MCAPI GameControllerManager();
73
74 MCAPI void
75 feedButton(int gameControllerId, int buttonId, ::GameControllerButtonState buttonState, bool allowRemapping);
76
77 MCAPI void feedChangeUser(int gameControllerId, bool restrictToControllerIdChange);
78
79 MCAPI void feedJoinGame(int gameControllerId, bool isConfirmation);
80
81 MCAPI void feedStick(int gameControllerId, int stickId, ::GameControllerStickState state, float x, float y);
82
83 MCAPI void feedTrigger(int gameControllerId, int triggerId, float magnitude);
84
85 MCAPI bool getGameControllerIsConnected(int gameControllerId) const;
86
87 MCAPI bool isAdequateController(int gameControllerId);
88
89 MCAPI void setGameControllerConnected(int gameControllerId, bool isConnected);
90 // NOLINTEND
91
92public:
93 // static variables
94 // NOLINTBEGIN
95 MCAPI static ::GameControllerManager& sGamePadManager();
96 // NOLINTEND
97
98public:
99 // constructor thunks
100 // NOLINTBEGIN
101 MCAPI void* $ctor();
102 // NOLINTEND
103
104public:
105 // destructor thunk
106 // NOLINTBEGIN
107 MCAPI void $dtor();
108 // NOLINTEND
109
110public:
111 // virtual function thunks
112 // NOLINTBEGIN
113 MCAPI ::std::weak_ptr<::IGameController> $getGameController(int id);
114
115 MCAPI ::std::vector<::std::weak_ptr<::IGameController>> $getConnectedGameControllers();
116
117 MCAPI ::std::vector<::std::weak_ptr<::IGameController>> $getGameControllersInUse();
118
119 MCAPI bool $hasAdequateConnectedGameController() const;
120
121 MCAPI bool $hasAdequateConnectedGameControllers(uint64 const playerCount) const;
122
123 MCFOLD uint64 $getMaxGameControllerButtons() const;
124
125 MCAPI void $registerConsumer(void const* token);
126
127 MCAPI void $unregisterConsumer(void const* token);
128
129 MCFOLD void $setControllerRefreshState(::ControllerRefreshState state);
130
131 MCFOLD ::ControllerRefreshState $getControllerRefreshState() const;
132
133 MCAPI ::GameControllerErrorType $getPlatformSpecificControllerError() const;
134
135 MCAPI void $setPlatformSpecificControllerErrorRetrievalFunc(::std::function<::GameControllerErrorType()>&& lambda);
136
137 MCAPI void $resetClientControllerCount();
138
139 MCAPI void $addClientHasAdequateConnectedController(int id, bool const isAdequate, ::SubClientId clientId);
140 // NOLINTEND
141
142public:
143 // vftables
144 // NOLINTBEGIN
145 MCNAPI static void** $vftable();
146 // NOLINTEND
147};
Definition GameControllerManager.h:5
static MCAPI void ** $vftable()
Definition GameController.h:5
Definition IGameControllerManager.h:5
Definition IGameController.h:5