Wraith  0.1.5
Basic 3D game engine in C++
Other Methods

Various methods to control internal aspects of the GameObject. More...

Collaboration diagram for Other Methods:

Functions

void GameObject::submitSceneEntry ()
 Submit scene entry to current scene. More...
 
void GameObject::submitSceneExit ()
 Submit scene exit from current scene. More...
 

Detailed Description

Various methods to control internal aspects of the GameObject.

GameObject entry and exit from a Scene is mostly used when using objects that are created and recycled from an Object Pool For example here is where it would be used for Bullet created/recycled from a Bullet pool. NOTE: this uses collisions for the example see Collision Module for more information about collisions. As well as key inputs, see Input Module for more information about inputs.

// -----------------------------------------------------------------------------------
// Bullet Game Object Set Up
// -----------------------------------------------------------------------------------
Bullet::Bullet()
{
// Initializing Bullet Graphics Object and other settings
// Set up collision for bullet
}
void Bullet::sceneEntry()
{
//NOTE: This is where registration for update, draw, inputs, and collision should occur
}
void Bullet::sceneExit()
{
//NOTE: This is where deregistration for update, draw, inputs, and collision should occur
// In this example since the Bullet was created by the pool,
// we return it back to the pool
BulletPool::ReturnBullet(this);
}
void Bullet::collision(Tank*) // Collision with tank object
{
}
// -----------------------------------------------------------------------------------
// Tank Game Object Set Up
// -----------------------------------------------------------------------------------
Tank::Tank()
{
// Submit Key registration
}
void Tank::keyPress(AZUL_KEY key)
{
if(key == AZUL_KEY::SPACE) // Fire key
{
// Get bullet from Bullet Pool
Bullet* pBullet = BulletPool::GetBullet();
Vect bulletPosition = computeBulletSpawnPosition();
Vect bulletDirection = computeBulletDirection();
pBullet->initialize(bulletPosition, bulletDirection);
// Submit scene entry;
pBullet->submitSceneEntry();
}
}
void submitCollisionRegistration()
Submit collision registration to current scene.
Definition: Collidable.cpp:80
void submitCollisionDeregistration()
Submit collision deregistration.
Definition: Collidable.cpp:95
void submitDrawRegistration()
Submit draw registration to current scene.
Definition: Drawable.cpp:31
void submitDrawDeregistration()
Submit draw deregistration to current scene.
Definition: Drawable.cpp:45
void submitSceneExit()
Submit scene exit from current scene.
Definition: GameObject.cpp:33
void submitUpdateDeregistration()
Submit update deregistration to current scene.
Definition: Updatable.cpp:38
void submitUpdateRegistration()
Submit update registration to current scene.
Definition: Updatable.cpp:24

Function Documentation

◆ submitSceneEntry()

void GameObject::submitSceneEntry ( )

Submit scene entry to current scene.

Mainly used for GameObject entities that are created and recycled with factories.

◆ submitSceneExit()

void GameObject::submitSceneExit ( )

Submit scene exit from current scene.

Mainly used for GameObject entities that are created and recycled with factories.