OpenBarnyard
 
Loading...
Searching...
No Matches
AInputHandler Class Reference

#include <AInputHandler.h>

Inheritance diagram for AInputHandler:

Public Types

using ThisClass = AInputHandler
 
using BaseClass = Toshi::TTask
 

Public Member Functions

virtual Toshi::TClass * GetClass () override
 
 AInputHandler ()
 
 ~AInputHandler ()
 
virtual TBOOL OnCreate () override
 
virtual TBOOL OnUpdate (TFLOAT a_fDeltaTime) override
 
Toshi::TInputDeviceMouse * GetMouseDevice () const
 
Toshi::TInputDeviceKeyboard * GetKeyboardDevice () const
 
TBOOL HadInputLastFrame () const
 

Static Public Member Functions

static Toshi::TObject * CreateTObject ()
 
static Toshi::TObject * CreateTObjectInPlace (void *a_pPtr)
 
static void InitialiseClass ()
 
static void DeinitialiseClass ()
 
static TFORCEINLINE Toshi::TClass * GetClassStatic ()
 

Static Public Attributes

static constexpr Toshi::TClass * PARENTCLASS = & Toshi::TTask::ms_oClass
 
static Toshi::TClass ms_oClass = Toshi::TClass( "AInputHandler", AInputHandler::PARENTCLASS, AInputHandler::CreateTObject, AInputHandler::CreateTObjectInPlace, AInputHandler::InitialiseClass, AInputHandler::DeinitialiseClass, 0, 1, sizeof( AInputHandler ), alignof( AInputHandler ) )
 

Detailed Description

Definition at line 8 of file AInputHandler.h.

Member Typedef Documentation

◆ BaseClass

using AInputHandler::BaseClass = Toshi::TTask

Definition at line 12 of file AInputHandler.h.

◆ ThisClass

Definition at line 12 of file AInputHandler.h.

Constructor & Destructor Documentation

◆ AInputHandler()

AInputHandler::AInputHandler ( )

Definition at line 18 of file AInputHandler_Win.cpp.

19{
20 TIMPLEMENT();
21
22 auto pInputInterfaceClass = TClass::Find( "TInputDXInterface" );
23 auto pInputInterface = pInputInterfaceClass->CreateObject();
24 TASSERT( pInputInterface && pInputInterface->IsA( &TGetClass( TInputInterface ) ) );
25
26 m_pMouseDevice = TNULL;
27 m_pKeyboardDevice = TNULL;
28 m_pMainController = TNULL;
29
30 m_bIsPaused = TFALSE;
31 m_bHadInputLastFrame = TFALSE;
32}
#define TIMPLEMENT()
Definition Defines.h:136
#define TASSERT(X,...)
Definition Defines.h:138
#define TGetClass(CLASS)
Definition TObject.h:13
#define TNULL
Definition Typedefs.h:23
#define TFALSE
Definition Typedefs.h:24
static TClass * Find(const TCHAR *name, TClass *parent=TNULL)
Definition TClass.cpp:110

◆ ~AInputHandler()

AInputHandler::~AInputHandler ( )

Definition at line 34 of file AInputHandler_Win.cpp.

35{
37 {
39 }
40}
static TFORCEINLINE void DestroySingleton()
Definition TSingleton.h:30
static TFORCEINLINE TInputInterface * GetSingleton()
Definition TSingleton.h:49

Member Function Documentation

◆ CreateTObject()

Toshi::TObject * AInputHandler::CreateTObject ( )
static

Definition at line 16 of file AInputHandler_Win.cpp.

◆ CreateTObjectInPlace()

Toshi::TObject * AInputHandler::CreateTObjectInPlace ( void * a_pPtr)
static

Definition at line 16 of file AInputHandler_Win.cpp.

◆ DeinitialiseClass()

void AInputHandler::DeinitialiseClass ( )
static

Definition at line 16 of file AInputHandler_Win.cpp.

◆ GetClass()

Toshi::TClass * AInputHandler::GetClass ( )
overridevirtual

Definition at line 16 of file AInputHandler_Win.cpp.

◆ GetClassStatic()

static TFORCEINLINE Toshi::TClass * AInputHandler::GetClassStatic ( )
inlinestatic

Definition at line 12 of file AInputHandler.h.

◆ GetKeyboardDevice()

Toshi::TInputDeviceKeyboard * AInputHandler::GetKeyboardDevice ( ) const
inline

Definition at line 22 of file AInputHandler.h.

22{ return m_pKeyboardDevice; }

◆ GetMouseDevice()

Toshi::TInputDeviceMouse * AInputHandler::GetMouseDevice ( ) const
inline

Definition at line 21 of file AInputHandler.h.

21{ return m_pMouseDevice; }

◆ HadInputLastFrame()

TBOOL AInputHandler::HadInputLastFrame ( ) const
inline

Definition at line 24 of file AInputHandler.h.

24{ return m_bHadInputLastFrame; }

◆ InitialiseClass()

void AInputHandler::InitialiseClass ( )
static

Definition at line 16 of file AInputHandler_Win.cpp.

◆ OnCreate()

TBOOL AInputHandler::OnCreate ( )
overridevirtual

Definition at line 42 of file AInputHandler_Win.cpp.

43{
44 TIMPLEMENT();
46 m_pMouseDevice = TInputInterface::GetSingleton()->GetDeviceByIndex<TInputDeviceMouse>( 0 );
47 m_pKeyboardDevice = TInputInterface::GetSingleton()->GetDeviceByIndex<TInputDeviceKeyboard>( 0 );
48
49 m_InputListener.Connect(
50 TInputInterface::GetSingleton()->GetInputEventEmitter(),
51 this,
52 []( AInputHandler* a_pInputHandler, TInputInterface* a_pInputInterface, TInputInterface::InputEvent* a_pEvent ) {
53 return a_pInputHandler->ProcessInputEvent( a_pInputInterface, a_pEvent );
54 },
55 0
56 );
57
58 return TTRUE;
59}
#define TTRUE
Definition Typedefs.h:25
TInputDevice * GetDeviceByIndex(TClass *a_pClass, TUINT a_uiIndex)
virtual TBOOL Initialise()=0

◆ OnUpdate()

TBOOL AInputHandler::OnUpdate ( TFLOAT a_fDeltaTime)
overridevirtual

Definition at line 61 of file AInputHandler_Win.cpp.

62{
63 TIMPLEMENT();
64 m_bHadInputLastFrame = TFALSE;
65 m_fDeltaTime = a_fDeltaTime;
66
69 return TTRUE;
70}
virtual TINT ProcessEvents(TFLOAT a_fDeltaTime)
virtual TBOOL AcquireAll()

Member Data Documentation

◆ ms_oClass

Toshi::TClass AInputHandler::ms_oClass = Toshi::TClass( "AInputHandler", AInputHandler::PARENTCLASS, AInputHandler::CreateTObject, AInputHandler::CreateTObjectInPlace, AInputHandler::InitialiseClass, AInputHandler::DeinitialiseClass, 0, 1, sizeof( AInputHandler ), alignof( AInputHandler ) )
static

Definition at line 12 of file AInputHandler.h.

◆ PARENTCLASS

Toshi::TClass* AInputHandler::PARENTCLASS = & Toshi::TTask::ms_oClass
staticconstexpr

Definition at line 12 of file AInputHandler.h.


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