3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/deps/input/interface/GameControllerButtonState.h"
7#include "mc/deps/input/interface/GameControllerErrorType.h"
12 using InputButton = uint;
14 using ButtonMap = ::std::unordered_map<uint, int>;
16 using ButtonStateMap = ::std::unordered_map<uint, ::GameControllerButtonState>;
21 ::ll::TypedStorage<8, 64, ::std::unordered_map<uint, int>> mButtonMap;
22 ::ll::TypedStorage<8, 24, ::std::vector<float>> mLeftTrigger;
23 ::ll::TypedStorage<8, 24, ::std::vector<float>> mRightTrigger;
24 ::ll::TypedStorage<8, 32, ::std::vector<bool>> mLeftStickTouched;
25 ::ll::TypedStorage<8, 32, ::std::vector<bool>> mRightStickTouched;
26 ::ll::TypedStorage<8, 24, ::std::vector<::std::unordered_map<uint, ::GameControllerButtonState>>> mButtonState;
27 ::ll::TypedStorage<4, 16, uint[4]> mInputProcessResult;
28 ::ll::TypedStorage<8, 16, ::std::thread> mPollingThread;
29 ::ll::TypedStorage<1, 1, ::std::atomic<bool>> mJoinThreads;
37 virtual void refresh() = 0;
39 virtual void refresh(
bool isInGame);
41 virtual void shutdown();
43 virtual ::GameControllerErrorType checkPlatformSpecificControllerError();
45 virtual float normalizeAxis(
float raw,
float deadzone);
47 virtual void normalizeAxes(
float& ioX,
float& ioY,
float deadzone) = 0;
Definition GameControllerHandler.h:5
MCAPI float $normalizeAxis(float raw, float deadzone)
MCAPI GameControllerHandler()
static MCAPI void ** $vftable()
MCAPI void $refresh(bool isInGame)
MCAPI::GameControllerErrorType $checkPlatformSpecificControllerError()