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

#include <Scene.h>

Inheritance diagram for Scene:
Inheritance graph
Collaboration diagram for Scene:
Collaboration graph

Public Member Functions

 Scene ()
 
 Scene (const Scene &)=delete
 
Sceneoperator= (const Scene &)=delete
 
virtual ~Scene ()
 
Camera * GetMainCam ()
 Passthrough for this Scene's CameraManager's CameraManager::GetMainCam().
 
Camera * GetUICam ()
 Passthrough for this Scene's CameraManager's CameraManager::GetUICam().
 

Protected Member Functions

template<typename C1 , typename C2 >
void SetCollisionPair ()
 Sets collision pair to be tested in the scene. To be called by user in Init().
 
template<typename C1 >
void SetCollisionSelf ()
 Sets self collision to be tested for a CollisionGroup in the scene. To be called by user in Init().
 

Private Member Functions

virtual void Init ()
 Initializes this scene. Called by the SceneManager when setting up the Scene. To be overridden by the user.
 
virtual void End ()
 Ends this scene. Called by the SceneManager when cleaning up the Scene. To be overridden by the user.
 
virtual void TopOfFrame ()
 Excecuted at top of frame, after registration commands are processed, but before any Alarm, Inputable, or GameObject are updated. Does nothing by default. To be optionally overridden by user.
 
void Update ()
 
void Draw ()
 
void SubmitCommand (SceneRegistrationCommand *c)
 
void Register (Updatable *up)
 
void Deregister (Updatable *up)
 
void Register (Drawable *dr)
 
void Deregister (Drawable *dr)
 
float Register (Alarm *al, float sec)
 
void Deregister (Alarm *al)
 
void Register (Inputable *in, InputKey k, KeyEvent ev)
 
void Deregister (Inputable *in, InputKey k, KeyEvent ev)
 
void Register (Collidable *co)
 
void Deregister (Collidable *co)
 

Private Attributes

RegistrationBroker RegBroker
 
UpdatableManager UpdateMgr
 
DrawableManager DrawMgr
 
AlarmManager AlarmMgr
 
InputableManager InputMgr
 
CollisionManager CollisionMgr
 
CameraManager CameraMgr
 

Friends

class SceneAttorney
 

Constructor & Destructor Documentation

◆ Scene() [1/2]

Scene::Scene ( )

◆ Scene() [2/2]

Scene::Scene ( const Scene )
delete

◆ ~Scene()

Scene::~Scene ( )
virtual

Member Function Documentation

◆ Deregister() [1/5]

void Scene::Deregister ( Alarm al)
private

◆ Deregister() [2/5]

void Scene::Deregister ( Collidable co)
private

◆ Deregister() [3/5]

void Scene::Deregister ( Drawable dr)
private

◆ Deregister() [4/5]

void Scene::Deregister ( Inputable in,
InputKey  k,
KeyEvent  ev 
)
private

◆ Deregister() [5/5]

void Scene::Deregister ( Updatable up)
private

◆ Draw()

void Scene::Draw ( )
private

◆ End()

virtual void Scene::End ( )
inlineprivatevirtual

Ends this scene. Called by the SceneManager when cleaning up the Scene. To be overridden by the user.

Haru, 3/19/2023.

Reimplemented in NullScene.

◆ GetMainCam()

Camera * Scene::GetMainCam ( )

Passthrough for this Scene's CameraManager's CameraManager::GetMainCam().

Haru, 3/19/2023.

Returns
A pointer to the Scene's main perspective camera.

◆ GetUICam()

Camera * Scene::GetUICam ( )

Passthrough for this Scene's CameraManager's CameraManager::GetUICam().

Haru, 3/19/2023.

Returns
A pointer to the Scene's orthographic UI camera.

◆ Init()

virtual void Scene::Init ( )
inlineprivatevirtual

Initializes this scene. Called by the SceneManager when setting up the Scene. To be overridden by the user.

Haru, 3/19/2023.

Reimplemented in NullScene.

◆ operator=()

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

◆ Register() [1/5]

float Scene::Register ( Alarm al,
float  sec 
)
private

◆ Register() [2/5]

void Scene::Register ( Collidable co)
private

◆ Register() [3/5]

void Scene::Register ( Drawable dr)
private

◆ Register() [4/5]

void Scene::Register ( Inputable in,
InputKey  k,
KeyEvent  ev 
)
private

◆ Register() [5/5]

void Scene::Register ( Updatable up)
private

◆ SetCollisionPair()

template<typename C1 , typename C2 >
void Scene::SetCollisionPair ( )
inlineprotected

Sets collision pair to be tested in the scene. To be called by user in Init().

Template Parameters
C1Type of the first CollisionGroup.
C2Type of the Second CollisionGroup.

◆ SetCollisionSelf()

template<typename C1 >
void Scene::SetCollisionSelf ( )
inlineprotected

Sets self collision to be tested for a CollisionGroup in the scene. To be called by user in Init().

Template Parameters
C1Type of the CollisionGroup to self-test.

◆ SubmitCommand()

void Scene::SubmitCommand ( SceneRegistrationCommand c)
private

◆ TopOfFrame()

virtual void Scene::TopOfFrame ( )
inlineprivatevirtual

Excecuted at top of frame, after registration commands are processed, but before any Alarm, Inputable, or GameObject are updated. Does nothing by default. To be optionally overridden by user.

Haru, 3/27/2023.

◆ Update()

void Scene::Update ( )
private

Friends And Related Function Documentation

◆ SceneAttorney

friend class SceneAttorney
friend

Member Data Documentation

◆ AlarmMgr

AlarmManager Scene::AlarmMgr
private

◆ CameraMgr

CameraManager Scene::CameraMgr
private

◆ CollisionMgr

CollisionManager Scene::CollisionMgr
private

◆ DrawMgr

DrawableManager Scene::DrawMgr
private

◆ InputMgr

InputableManager Scene::InputMgr
private

◆ RegBroker

RegistrationBroker Scene::RegBroker
private

◆ UpdateMgr

UpdatableManager Scene::UpdateMgr
private

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