Wraith  0.1.5
Basic 3D game engine in C++

For detecting inputs of GameObject entity every frame. NOTE: GameObject Entity must be registered in order to process GameObject::keyPressed and GameObject::keyReleased callbacks. More...

Collaboration diagram for Inputs:

Enumerations

enum class  InputEvent { KEY_PRESS , KEY_RELEASE }
 Values that represent event types. More...
 

Functions

void Inputable::submitKeyRegistration (AZUL_KEY key, InputEvent eventType)
 Submit key registration to current scene. More...
 
void Inputable::submitKeyDeregistration (AZUL_KEY key, InputEvent eventType)
 Submit key deregistration to current scene. More...
 
bool Inputable::isRegisterForKeyWithEvent (AZUL_KEY key, InputEvent eventType)
 Query if 'key' is register for key with event. More...
 
virtual void Inputable::keyPressed (AZUL_KEY key)
 Key pressed callback. More...
 
virtual void Inputable::keyReleased (AZUL_KEY key)
 Key released callback. More...
 

Detailed Description

For detecting inputs of GameObject entity every frame. NOTE: GameObject Entity must be registered in order to process GameObject::keyPressed and GameObject::keyReleased callbacks.

Inputs from keyboard are detected in two ways. Continuous key press or single event press/release. NOTE: For single event key press/release, GameObject entities must be registered. InputEvent enum is used for selecting the type of key event to detect Here is an example of setting up keyboard detection in Tank Object

Tank::Tank()
{
// Submit Registration
GameObject::submitKeyRegistration(AZUL_KEY::KEY_SPACE, InputEvent::KEY_PRESS); // Spacebar press detection
}
Tank::update() // Used for continuous key press
{
if(Keyboard::GetKeyState(AZUL_KEY::KEY_W))
{
this->moveFoward();
}
if(Keyboard::GetKeyState(AZUL_KEY::KEY_S))
{
this->moveBackward();
}
if(Keyboard::GetKeyState(AZUL_KEY::KEY_A))
{
this->turnLeft();
}
if(Keyboard::GetKeyState(AZUL_KEY::KEY_S))
{
this->turnRight();
}
}
void Tank::keyPressed(AZUL_KEY key) // key press callback
{
if(key == AZUL_KEY::SPACE)
{
this->fireBullet();
}
}
void submitKeyRegistration(AZUL_KEY key, InputEvent eventType)
Submit key registration to current scene.
Definition: Inputable.cpp:29
void submitUpdateRegistration()
Submit update registration to current scene.
Definition: Updatable.cpp:24

Enumeration Type Documentation

◆ InputEvent

Function Documentation

◆ isRegisterForKeyWithEvent()

bool Inputable::isRegisterForKeyWithEvent ( AZUL_KEY  key,
InputEvent  eventType 
)
protected

Query if 'key' is register for key with event.

Parameters
keyThe key.
eventTypeType of the event.
Returns
True if register for key with event, false if not.

◆ keyPressed()

void Inputable::keyPressed ( AZUL_KEY  key)
privatevirtual

Key pressed callback.

To be implemented by user in object derived from GameObject (NOT directly derived from Inputable)

Parameters
keyThe key.

◆ keyReleased()

void Inputable::keyReleased ( AZUL_KEY  key)
privatevirtual

Key released callback.

To be implemented by user in object derived from GameObject (NOT directly derived from Inputable)

Parameters
keyThe key.

◆ submitKeyDeregistration()

void Inputable::submitKeyDeregistration ( AZUL_KEY  key,
InputEvent  eventType 
)
protected

Submit key deregistration to current scene.

Parameters
keyThe key.
eventTypeThe event typ.

◆ submitKeyRegistration()

void Inputable::submitKeyRegistration ( AZUL_KEY  key,
InputEvent  eventType 
)
protected

Submit key registration to current scene.

Parameters
keyThe key.
eventTypeType of the event.