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"
19 virtual ~IGameControllerManager() =
default;
21 virtual ::std::weak_ptr<::IGameController> getGameController(
int id) = 0;
23 virtual ::std::vector<::std::weak_ptr<::IGameController>> getConnectedGameControllers() = 0;
25 virtual ::std::vector<::std::weak_ptr<::IGameController>> getGameControllersInUse() = 0;
27 virtual bool hasAdequateConnectedGameController()
const = 0;
29 virtual bool hasAdequateConnectedGameControllers(uint64
const playerCount)
const = 0;
31 virtual uint64 getMaxGameControllerButtons()
const = 0;
33 virtual void registerConsumer(
void const* token) = 0;
35 virtual void unregisterConsumer(
void const* token) = 0;
37 virtual void setControllerRefreshState(::ControllerRefreshState state) = 0;
39 virtual ::ControllerRefreshState getControllerRefreshState()
const = 0;
41 virtual ::GameControllerErrorType getPlatformSpecificControllerError()
const = 0;
44 setPlatformSpecificControllerErrorRetrievalFunc(::std::function<::GameControllerErrorType()>&& lambda) = 0;
46 virtual void resetClientControllerCount() = 0;
48 virtual void addClientHasAdequateConnectedController(
int id,
bool const isAdequate, ::SubClientId clientId) = 0;
Definition IGameControllerManager.h:5
Definition IGameController.h:5