Open 3D Engine AzFramework API Reference 23.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
AzFramework::InputDeviceImplementationRequest< InputDeviceType > Class Template Referenceabstract

Templated EBus interface used to create a custom implementation for a specific device type. More...

#include <InputDeviceRequestBus.h>

Inherits AZ::EBusTraits.

Public Types

using BusIdType = InputDeviceId
 EBus Trait: requests can be addressed to a specific InputDeviceId.
 
using BusIdOrderCompare = AZStd::less< BusIdType >
 EBus Trait: requests are handled by connected devices in the order of local player index.
 
using Bus = AZ::EBus< InputDeviceImplementationRequest< InputDeviceType > >
 Alias for the EBus implementation of this interface.
 

Public Member Functions

virtual void SetCustomImplementation (typename InputDeviceType::ImplementationFactory implementationFactory)=0
 

Static Public Attributes

static const AZ::EBusAddressPolicy AddressPolicy = AZ::EBusAddressPolicy::ByIdAndOrdered
 
static const AZ::EBusHandlerPolicy HandlerPolicy = AZ::EBusHandlerPolicy::Single
 EBus Trait: requests should be handled by only one input device connected to each id.
 

Detailed Description

template<class InputDeviceType>
class AzFramework::InputDeviceImplementationRequest< InputDeviceType >

Templated EBus interface used to create a custom implementation for a specific device type.

Member Function Documentation

◆ SetCustomImplementation()

template<class InputDeviceType >
virtual void AzFramework::InputDeviceImplementationRequest< InputDeviceType >::SetCustomImplementation ( typename InputDeviceType::ImplementationFactory  implementationFactory)
pure virtual

Set a custom implementation for this input device type, either for a specific instance by addressing the call to an InputDeviceId, or for all existing instances by broadcast. Passing InputDeviceType::Implementation::Create as the argument will create the default device implementation, while passing nullptr will delete any existing implementation.

Parameters
[in]implementationFactoryPointer to the function that creates the implementation.

Member Data Documentation

◆ AddressPolicy

template<class InputDeviceType >
const AZ::EBusAddressPolicy AzFramework::InputDeviceImplementationRequest< InputDeviceType >::AddressPolicy = AZ::EBusAddressPolicy::ByIdAndOrdered
static

EBus Trait: requests can be addressed to a specific InputDeviceId so that they are only handled by one input device that has connected to the bus using that unique id, or they can be broadcast to all input devices that have connected to the bus, regardless of id. Connected input devices are ordered by their local player index from lowest to highest.


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