LeviLamina
Loading...
Searching...
No Matches
GameControllerMapper Class Referenceabstract
Inheritance diagram for GameControllerMapper:

Classes

struct  TriggerState
struct  DirectionAttributes
struct  ButtonAttributes
struct  GameControllerMappingData
struct  GamepadStickTurnData

Public Types

using GameControllerButtonId = int
using GamePadTriggerId = int
using GamePadStickId = int
using GamePadButtonToButtonIdMap = ::std::unordered_multimap<int, ::GameControllerMapper::ButtonAttributes>
using GamePadTriggerToButtonIdMap = ::std::unordered_multimap<int, ::GameControllerMapper::TriggerState>
using GamePadStickToDirectionIdMap = ::std::unordered_multimap<int, ::GameControllerMapper::DirectionAttributes>
using GamePadStickToButtonIdMap = ::std::unordered_multimap<int, uint>
using GamePadStickDirectionToButtonIdMap = ::std::unordered_multimap<::DirectionId, uint>
using GamePadExclusiveButtonIdSet = ::std::set<uint>
using GamePadStickEvents = ::std::unordered_map<int, ::GameControllerStickEvent>

Public Member Functions

virtual void setMapping (::InputEventQueue &eventQueue, ::BindingFactory const &bindingFactory, ::InputMapping const &inputMapping, int controllerId)
virtual void clearMapping (int controllerId)
virtual bool tick (::InputEventQueue &eventQueue, ::Bedrock::NotNullNonOwnerPtr<::ControllerIDtoClientMap > const &map)
virtual::InputMode getInputMode () const
virtual void changeControllerId (int oldId, int newId)
virtual ::std::vector<::std::weak_ptr<::IGameController > > _getGameControllers ()=0
virtual::GameControllerInputMapping const & getGameControllerMapping (::InputMapping const &inputMapping)=0
MCAPI void _enqueueButtonDownUpEvents (::InputEventQueue &eventQueue, ::GameControllerMapper::GamepadStickTurnData &turnData, ::DirectionId direction)
MCAPI void _handleButtonEvent (::InputEventQueue &eventQueue, ::GameControllerButtonEvent const &buttonEvent, int controllerId, int alternateControllerId)
MCAPI void _handleConnectionStateChangedEvent (::InputEventQueue &eventQueue, bool controllerConnected, int controllerId)
MCAPI void _handleStickEvent (::InputEventQueue &eventQueue, ::GameControllerStickEvent const &stickEvent, int controllerId)
MCAPI void _handleTriggerEvent (::InputEventQueue &eventQueue, ::GameControllerTriggerEvent const &triggerEvent, int controllerId)
MCAPI void _reprocessPreviousStickEvents (::InputEventQueue &eventQueue, int controllerId, ::std::vector< int > const &handledEventStickIds)
MCAPI void _tickTurn (::InputEventQueue &eventQueue)
MCAPI void * $ctor ()
MCAPI void $dtor ()
MCAPI void $setMapping (::InputEventQueue &eventQueue, ::BindingFactory const &bindingFactory, ::InputMapping const &inputMapping, int controllerId)
MCAPI void $clearMapping (int controllerId)
MCAPI bool $tick (::InputEventQueue &eventQueue, ::Bedrock::NotNullNonOwnerPtr<::ControllerIDtoClientMap > const &map)
MCFOLD::InputMode $getInputMode () const
MCAPI void $changeControllerId (int oldId, int newId)
virtual void clearInputDeviceQueue ()
virtual void clearInputDeviceQueueForFrame ()
virtual void getCursorPos (float &xCursor, float &yCursor) const
virtual void render (::InputRenderContext &context) const
virtual void setWindowSize (int width, int height)
virtual void setBindingMode (::InputBindingMode mode, int controllerId)
virtual::InputBindingMode getBindingMode (int controllerId)
MCFOLD void $clearInputDeviceQueue ()
MCFOLD void $clearInputDeviceQueueForFrame ()
MCAPI void $getCursorPos (float &xCursor, float &yCursor) const
MCFOLD void $render (::InputRenderContext &context) const
MCAPI void $setWindowSize (int width, int height)
MCAPI void $setBindingMode (::InputBindingMode mode, int controllerId)
MCAPI::InputBindingMode $getBindingMode (int controllerId)

Static Public Member Functions

static MCAPI void ** $vftable ()

Public Attributes

::ll::TypedStorage< 8, 8, double > mLastTime
::ll::TypedStorage< 8, 64, ::std::unordered_map< int, double > > mLastTurnButtonTimeSeconds
::ll::TypedStorage< 8, 24, ::std::vector<::GameControllerMapper::GamepadStickTurnData > > mStickTurnData
::ll::TypedStorage< 8, 64, ::std::unordered_map< int, ::GameControllerMapper::GameControllerMappingData > > mPerIdMappings
::ll::TypedStorage< 4, 4, int > mScreenWidth
::ll::TypedStorage< 4, 4, int > mScreenHeight
::ll::TypedStorage< 8, 64, ::std::unordered_map< int, ::InputBindingMode > > mBindingMode

Member Function Documentation

◆ setMapping()

virtual void GameControllerMapper::setMapping ( ::InputEventQueue & eventQueue,
::BindingFactory const & bindingFactory,
::InputMapping const & inputMapping,
int controllerId )
virtual

Implements InputDeviceMapper.

◆ clearMapping()

virtual void GameControllerMapper::clearMapping ( int controllerId)
virtual

Implements InputDeviceMapper.

◆ tick()

virtual bool GameControllerMapper::tick ( ::InputEventQueue & eventQueue,
::Bedrock::NotNullNonOwnerPtr<::ControllerIDtoClientMap > const & map )
virtual

Implements InputDeviceMapper.

◆ getInputMode()

virtual::InputMode GameControllerMapper::getInputMode ( ) const
virtual

Implements InputDeviceMapper.

◆ changeControllerId()

virtual void GameControllerMapper::changeControllerId ( int oldId,
int newId )
virtual

Reimplemented from InputDeviceMapper.

◆ $vftable()

MCAPI void ** GameControllerMapper::$vftable ( )
static
Attention
This function is not yet publicly available. To request access: reference this function in your code and attempt to link. The linker will report the exact symbol name. Submit a access request at https://github.com/LiteLDev/mcapi-requests/issues/new including the full symbol name.

The documentation for this class was generated from the following files: