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

Classes

struct  ButtonAttributes
 
struct  DirectionAttributes
 
struct  GameControllerMappingData
 
struct  GamepadStickTurnData
 
struct  TriggerState
 

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 &)=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()

static 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: