3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/common/SubClientId.h"
7#include "mc/deps/input/interface/ControllerRefreshState.h"
8#include "mc/deps/input/interface/GameControllerErrorType.h"
9#include "mc/deps/input/interface/IGameControllerManager.h"
21 ::ll::TypedStorage<8, 24, ::std::vector<::std::shared_ptr<::GameController>>> mGameControllers;
22 ::ll::TypedStorage<8, 8, uint64> mMaxGameControllerButtons;
23 ::ll::TypedStorage<1, 1, bool> mIsActive;
24 ::ll::TypedStorage<8, 24, ::std::vector<void const*>> mConsumerRegistry;
25 ::ll::TypedStorage<4, 4, ::ControllerRefreshState> mControllerRefreshState;
26 ::ll::TypedStorage<1, 1, uchar> mClientControllerCount;
27 ::ll::TypedStorage<8, 64, ::std::function<::GameControllerErrorType()>>
28 mPlatformSpecificControllerErrorRetrievalFunc;
34 virtual ~GameControllerManager() =
default;
36 virtual ::std::weak_ptr<::IGameController> getGameController(
int id) ;
38 virtual ::std::vector<::std::weak_ptr<::IGameController>> getConnectedGameControllers() ;
40 virtual ::std::vector<::std::weak_ptr<::IGameController>> getGameControllersInUse() ;
42 virtual bool hasAdequateConnectedGameController() const ;
44 virtual
bool hasAdequateConnectedGameControllers(uint64 const playerCount) const ;
46 virtual uint64 getMaxGameControllerButtons() const ;
48 virtual
void registerConsumer(
void const* token) ;
50 virtual
void unregisterConsumer(
void const* token) ;
52 virtual
void setControllerRefreshState(::ControllerRefreshState state) ;
54 virtual ::ControllerRefreshState getControllerRefreshState() const ;
56 virtual ::GameControllerErrorType getPlatformSpecificControllerError() const ;
59 setPlatformSpecificControllerErrorRetrievalFunc(::std::function<::GameControllerErrorType()>&& lambda) ;
61 virtual
void resetClientControllerCount() ;
64 addClientHasAdequateConnectedController(
int id,
bool const isAdequate, ::SubClientId clientId) ;
Definition GameControllerManager.h:5
MCAPI void $resetClientControllerCount()
MCAPI ::std::weak_ptr<::IGameController > $getGameController(int id)
MCAPI void $unregisterConsumer(void const *token)
MCAPI void setGameControllerConnected(int gameControllerId, bool isConnected)
MCAPI bool $hasAdequateConnectedGameControllers(uint64 const playerCount) const
MCAPI void $setPlatformSpecificControllerErrorRetrievalFunc(::std::function<::GameControllerErrorType()> &&lambda)
MCAPI ::std::vector<::std::weak_ptr<::IGameController > > $getGameControllersInUse()
MCAPI ::std::vector<::std::weak_ptr<::IGameController > > $getConnectedGameControllers()
MCAPI::ControllerRefreshState $getControllerRefreshState() const
MCAPI::GameControllerErrorType $getPlatformSpecificControllerError() const
MCAPI uint64 $getMaxGameControllerButtons() const
MCAPI void $registerConsumer(void const *token)
MCAPI void $addClientHasAdequateConnectedController(int id, bool const isAdequate, ::SubClientId clientId)
MCAPI bool $hasAdequateConnectedGameController() const
static MCAPI ::GameControllerManager & sGamePadManager()
MCAPI void $setControllerRefreshState(::ControllerRefreshState state)
Definition GameController.h:5
Definition IGameControllerManager.h:5
Definition IGameController.h:5