Open 3D Engine AzFramework API Reference 25.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
AzFramework::InputChannelDigital Class Reference

#include <InputChannelDigital.h>

Inherits AzFramework::InputChannel.

Inherited by AzFramework::InputChannelDigitalWithPosition2D, AzFramework::InputChannelDigitalWithSharedModifierKeyStates, and AzFramework::InputChannelDigitalWithSharedPosition2D.

Public Member Functions

 AZ_CLASS_ALLOCATOR (InputChannelDigital, AZ::SystemAllocator)
 
 AZ_RTTI (InputChannelDigital, "{07BD463B-0E1C-47B5-849D-3C09F9D1B468}", InputChannel)
 
 InputChannelDigital (const InputChannelId &inputChannelId, const InputDevice &inputDevice)
 
 AZ_DISABLE_COPY_MOVE (InputChannelDigital)
 
 ~InputChannelDigital () override=default
 Default destructor.
 
float GetValue () const override
 
float GetDelta () const override
 
void SimulateRawInput (float rawValue) override
 AzFramework::InputChannelRequests::SimulateRawInput
 
void ProcessRawInputEvent (bool rawValue)
 
- Public Member Functions inherited from AzFramework::InputChannel
 AZ_CLASS_ALLOCATOR (InputChannel, AZ::SystemAllocator)
 
 AZ_RTTI (InputChannel, "{1C88625D-D297-4A1C-AE07-E17F88D138F3}")
 
 InputChannel (const InputChannelId &inputChannelId, const InputDevice &inputDevice)
 
 AZ_DISABLE_COPY_MOVE (InputChannel)
 
 ~InputChannel () override
 Destructor.
 
const InputChannelGetInputChannel () const final
 AzFramework::InputChannelRequests::GetInputChannel
 
const InputChannelIdGetInputChannelId () const
 
const InputDeviceGetInputDevice () const
 
State GetState () const
 
bool IsActive () const
 
virtual const CustomDataGetCustomData () const
 
template<class CustomDataType >
const CustomDataType * GetCustomData () const
 
bool UpdateState (bool isChannelActive)
 
void ResetState () override
 AzFramework::InputChannelRequests::ResetState
 
bool IsStateIdle () const
 
bool IsStateBegan () const
 
bool IsStateUpdated () const
 
bool IsStateEnded () const
 

Additional Inherited Members

- Public Types inherited from AzFramework::InputChannel
enum class  State { Idle , Began , Updated , Ended }
 State of the input channel (not all channels will go through all states) More...
 
using SharedPositionData2D = AZStd::shared_ptr< InputChannel::PositionData2D >
 Alias for verbose shared_ptr class.
 
- Static Public Member Functions inherited from AzFramework::InputChannel
static void Reflect (AZ::ReflectContext *context)
 

Detailed Description

Class representing input channels that emit one dimensional digital input values. Examples: game-pad button, keyboard key

Constructor & Destructor Documentation

◆ InputChannelDigital()

AzFramework::InputChannelDigital::InputChannelDigital ( const InputChannelId inputChannelId,
const InputDevice inputDevice 
)
explicit

Constructor

Parameters
[in]inputChannelIdId of the input channel being constructed
[in]inputDeviceInput device that owns the input channel

Member Function Documentation

◆ GetDelta()

float AzFramework::InputChannelDigital::GetDelta ( ) const
overridevirtual

Access to the digital delta of the input channel (1.0f, -1.0f, or 0.0f)

Returns
Difference between the current and last reported digital values

Reimplemented from AzFramework::InputChannel.

◆ GetValue()

float AzFramework::InputChannelDigital::GetValue ( ) const
overridevirtual

Access to the digital value of the input channel (1.0f or 0.0f)

Returns
The current digital value of the input channel

Reimplemented from AzFramework::InputChannel.

◆ ProcessRawInputEvent()

void AzFramework::InputChannelDigital::ProcessRawInputEvent ( bool  rawValue)

Process a raw input event, that will in turn update the channel's state based on whether it's active/engaged or inactive/idle, broadcasting an input event if the channel is left in a non-idle state. This function (or InputChannel::UpdateState) should only be called a max of once per channel per frame from InputDeviceRequests::TickInputDevice to ensure that input channels broadcast no more than one event each frame (and at the same time).

Parameters
[in]rawValueThe raw digital value to process

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