Ketchup Engine
Loading...
Searching...
No Matches
GameObject Class Reference

#include <GameObject.h>

Inheritance diagram for GameObject:
Inheritance graph
Collaboration diagram for GameObject:
Collaboration graph

Public Member Functions

 GameObject ()
 
 GameObject (const GameObject &)=delete
 
GameObjectoperator= (const GameObject &)=delete
 
virtual ~GameObject ()
 
virtual void EnterScene ()
 Processes necessary for entering the Scene. Users should override as necessary and put X-able registration calls here, as well as any additional setup that is done per-entry.
 
virtual void ExitScene ()
 Processes necessary for exiting the Scene. Users should override as necessary and put X-able deregistration calls here, as well as any additional cleanup that is done per-exit.
 
void SubmitSceneEntry ()
 Submit scene entry to the currently active Scene.
 
void SubmitSceneExit ()
 Submit scene exit to the currently active Scene.
 
- Public Member Functions inherited from Updatable
 Updatable ()
 
 Updatable (const Updatable &)=delete
 
Updatableoperator= (const Updatable &)=delete
 
virtual ~Updatable ()
 
virtual void Update ()
 Updates this Updatable. User should override this method as necessary.
 
void SubmitRegistration ()
 Submit update registration to the currently active Scene.
 
void SubmitDeregistration ()
 Submit update deregistration from the currently active Scene.
 
- Public Member Functions inherited from Drawable
 Drawable ()
 
 Drawable (const Drawable &)=delete
 
Drawableoperator= (const Drawable &)=delete
 
virtual ~Drawable ()
 
virtual void Draw ()
 Draws this Drawable's 3D GraphicsObjects. User should override this method as necessary.
 
virtual void Draw2D ()
 Draws this Drawable's 2D KSprites. User should override this method as necessary.
 
void SubmitRegistration ()
 Submit draw registration to the currently active Scene.
 
void SubmitDeregistration ()
 Submit draw deregistration from the currently active Scene.
 
- Public Member Functions inherited from Inputable
 Inputable ()
 
 Inputable (const Inputable &)=delete
 
Inputableoperator= (const Inputable &)=delete
 
virtual ~Inputable ()
 
virtual void KeyPressed (AZUL_KEY k)
 Callback for KeyPressed event on a keyboard key. To be overridden by the user.
 
virtual void KeyReleased (AZUL_KEY k)
 Callback for KeyReleased event on a keyboard key. To be overridden by the user.
 
virtual void KeyPressed (AZUL_MOUSE m)
 Callback for KeyPressed event on a mouse button. To be overridden by the user.
 
virtual void KeyReleased (AZUL_MOUSE m)
 Callback for KeyReleased event on a mouse button. To be overridden by the user.
 
void SubmitRegistration (AZUL_KEY k, KeyEvent ev)
 Submit input registration for the specified AZUL_KEY and KeyEvent to the currently active Scene.
 
void SubmitDeregistration (AZUL_KEY k, KeyEvent ev)
 Submit input deregistration for the specified AZUL_KEY and KeyEvent from the currently active Scene.
 
void SubmitRegistration (AZUL_MOUSE m, KeyEvent ev)
 Submit input registration for the specified AZUL_MOUSE and KeyEvent to the currently active Scene.
 
void SubmitDeregistration (AZUL_MOUSE m, KeyEvent ev)
 Submit input deregistration for the specified AZUL_MOUSE and KeyEvent from the currently active Scene.
 
- Public Member Functions inherited from Collidable
 Collidable ()
 
 Collidable (const Collidable &)=delete
 
Collidableoperator= (const Collidable &)=delete
 
virtual ~Collidable ()
 
void SubmitRegistration ()
 Submit collision registration to the currently active Scene.
 
void SubmitDeregistration ()
 Submit collision deregistration from the currently active Scene.
 

Private Member Functions

void privEnterScene ()
 
void privExitScene ()
 

Private Attributes

RegistrationState m_regState
 
GameObjectRegistrationCommandp_regCmd
 
GameObjectDeregistrationCommandp_deregCmd
 

Friends

class GameObjectAttorney
 

Additional Inherited Members

- Public Types inherited from Inputable
using RegistrationID = std::pair< InputKey, KeyEvent >
 
using RegDataMap = std::map< RegistrationID, RegistrationData >
 
using RegDataMapPair = std::pair< RegistrationID, RegistrationData >
 
- Public Types inherited from Collidable
enum class  VOLUME_TYPE { BSPHERE , AABB }
 
- Protected Member Functions inherited from Collidable
const CollisionVolumeGetCollisionVolume ()
 Gets a const reference to the Collidable's BSphere.
 
void SetColliderModel (Model *m, VOLUME_TYPE volumeType)
 Sets the Collidable's collider model.
 
void UpdateCollisionData (const Matrix &m)
 Updates the collision data using the transform m.
 
template<typename C >
void SetCollidableGroup ()
 Sets collidable group.
 

Constructor & Destructor Documentation

◆ GameObject() [1/2]

GameObject::GameObject ( )

◆ GameObject() [2/2]

GameObject::GameObject ( const GameObject )
delete

◆ ~GameObject()

GameObject::~GameObject ( )
virtual

Member Function Documentation

◆ EnterScene()

virtual void GameObject::EnterScene ( )
inlinevirtual

Processes necessary for entering the Scene. Users should override as necessary and put X-able registration calls here, as well as any additional setup that is done per-entry.

Haru, 3/8/2023.

Reimplemented in ScreenLog, and SongPlayer.

◆ ExitScene()

virtual void GameObject::ExitScene ( )
inlinevirtual

Processes necessary for exiting the Scene. Users should override as necessary and put X-able deregistration calls here, as well as any additional cleanup that is done per-exit.

Haru, 3/8/2023.

Reimplemented in ScreenLog, and SongPlayer.

◆ operator=()

GameObject & GameObject::operator= ( const GameObject )
delete

◆ privEnterScene()

void GameObject::privEnterScene ( )
private

◆ privExitScene()

void GameObject::privExitScene ( )
private

◆ SubmitSceneEntry()

void GameObject::SubmitSceneEntry ( )

Submit scene entry to the currently active Scene.

Haru, 3/8/2023.

◆ SubmitSceneExit()

void GameObject::SubmitSceneExit ( )

Submit scene exit to the currently active Scene.

Haru, 3/8/2023.

Friends And Related Function Documentation

◆ GameObjectAttorney

friend class GameObjectAttorney
friend

Member Data Documentation

◆ m_regState

RegistrationState GameObject::m_regState
private

◆ p_deregCmd

GameObjectDeregistrationCommand* GameObject::p_deregCmd
private

◆ p_regCmd

GameObjectRegistrationCommand* GameObject::p_regCmd
private

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