flimEngine
Scene Class Referenceabstract

#include <Scene.h>

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

Public Member Functions

 Scene ()
 
 Scene (const Scene &)=default
 
virtual ~Scene ()
 
const Sceneoperator= (const Scene &)=delete
 
CameraManagerGetCamera ()
 Gets the camera. More...
 
errcode SetTerrain (const char *terrainName)
 Sets a terrain. More...
 
FlimTerrainGetTerrain () const
 Gets the terrain. More...
 
template<typename C1 , typename C2 >
errcode SetCollisionPair ()
 Registers collision for two gameobject types with one another. More...
 
template<typename C >
errcode SetCollisionSelf ()
 Registers collision for a gameobject type with itself. More...
 
template<typename C >
errcode SetCollisionTerrain ()
 Sets collision terrain. More...
 

Private Member Functions

errcode Update ()
 
errcode Draw ()
 
virtual errcode Initialize ()=0
 Initializes this object. More...
 
virtual errcode Terminate ()=0
 Gets the terminate. More...
 
errcode Register (Updatable *in)
 Registers this object. More...
 
errcode Deregister (Updatable *in)
 Deregisters this object. More...
 
errcode Register (Drawable *in)
 Registers this object. More...
 
errcode Deregister (Drawable *in)
 Deregisters this object. More...
 
errcode Register (GameObject *in)
 Registers this object. More...
 
errcode Deregister (GameObject *in)
 Deregisters this object. More...
 
errcode Register (float t, Alarmable *in, AlarmableManager::ALARM_ID id)
 Registers this object. More...
 
errcode Deregister (Alarmable *in, AlarmableManager::ALARM_ID id)
 Deregisters this object. More...
 
errcode Register (Inputable *in, AZUL_KEY key, input_type type)
 Registers this object. More...
 
errcode Deregister (Inputable *in, AZUL_KEY key, input_type type)
 Deregisters this object. More...
 
void SubmitCommand (Command *in)
 Submit command. More...
 

Private Attributes

CollisionManagercollisionManager
 
UpdatableManagerupdateManager
 
DrawableManagerdrawManager
 
AlarmableManageralarmManager
 
KeyboardEventManagerkeyboardManager
 
CameraManagercameraManager
 
Executionerexecutioner
 
FlimTerrainterrain
 

Friends

class SceneManager
 
class Updatable
 
class Drawable
 
class Collidable
 
template<typename C >
class CollidableGroup
 
class Alarmable
 
class Inputable
 
class GameObject
 
class SceneChangeCommand
 
class SceneUpdateCommand
 

Constructor & Destructor Documentation

◆ Scene() [1/2]

Scene::Scene ( )

◆ Scene() [2/2]

Scene::Scene ( const Scene )
default

◆ ~Scene()

Scene::~Scene ( )
virtual

Member Function Documentation

◆ Deregister() [1/5]

errcode Scene::Deregister ( Updatable in)
private

Deregisters this object.

Author
Jack Campbell
Date
6/1/2017
Parameters
[in,out]inIf non-null, the in.
Returns
An errcode.

◆ Deregister() [2/5]

errcode Scene::Deregister ( Drawable in)
private

Deregisters this object.

Author
Jack Campbell
Date
6/1/2017
Parameters
[in,out]inIf non-null, the in.
Returns
An errcode.

◆ Deregister() [3/5]

errcode Scene::Deregister ( GameObject in)
private

Deregisters this object.

Author
Jack Campbell
Date
6/1/2017
Parameters
[in,out]inIf non-null, the in.
Returns
An errcode.

◆ Deregister() [4/5]

errcode Scene::Deregister ( Alarmable in,
AlarmableManager::ALARM_ID  id 
)
private

Deregisters this object.

Author
Jack Campbell
Date
6/1/2017
Parameters
[in,out]inIf non-null, the in.
idThe identifier.
Returns
An errcode.

◆ Deregister() [5/5]

errcode Scene::Deregister ( Inputable in,
AZUL_KEY  key,
input_type  type 
)
private

Deregisters this object.

Author
Jack Campbell
Date
6/1/2017
Parameters
[in,out]inIf non-null, the in.
keyThe key.
typeThe type.
Returns
An errcode.

◆ Draw()

errcode Scene::Draw ( )
private

◆ operator=()

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

◆ Register() [1/5]

errcode Scene::Register ( Updatable in)
private

Registers this object.

Author
Jack Campbell
Date
6/1/2017
Parameters
[in,out]inIf non-null, the in.
Returns
An errcode.

◆ Register() [2/5]

errcode Scene::Register ( Drawable in)
private

Registers this object.

Author
Jack Campbell
Date
6/1/2017
Parameters
[in,out]inIf non-null, the in.
Returns
An errcode.

◆ Register() [3/5]

errcode Scene::Register ( GameObject in)
private

Registers this object.

Author
Jack Campbell
Date
6/1/2017
Parameters
[in,out]inIf non-null, the in.
Returns
An errcode.

◆ Register() [4/5]

errcode Scene::Register ( float  t,
Alarmable in,
AlarmableManager::ALARM_ID  id 
)
private

Registers this object.

Author
Jack Campbell
Date
6/1/2017
Parameters
tThe float to process.
[in,out]inIf non-null, the in.
idThe identifier.
Returns
An errcode.

◆ Register() [5/5]

errcode Scene::Register ( Inputable in,
AZUL_KEY  key,
input_type  type 
)
private

Registers this object.

Author
Jack Campbell
Date
6/1/2017
Parameters
[in,out]inIf non-null, the in.
keyThe key.
typeThe type.
Returns
An errcode.

◆ SubmitCommand()

void Scene::SubmitCommand ( Command in)
private

Submit command.

Author
Jack Campbell
Date
6/1/2017
Parameters
[in,out]inIf non-null, the in.

◆ Update()

errcode Scene::Update ( )
private

Friends And Related Function Documentation

◆ Alarmable

friend class Alarmable
friend

◆ Collidable

friend class Collidable
friend

◆ CollidableGroup

template<typename C >
friend class CollidableGroup
friend

◆ Drawable

friend class Drawable
friend

◆ GameObject

friend class GameObject
friend

◆ Inputable

friend class Inputable
friend

◆ SceneChangeCommand

friend class SceneChangeCommand
friend

◆ SceneManager

SceneManager
friend

◆ SceneUpdateCommand

friend class SceneUpdateCommand
friend

◆ Updatable

friend class Updatable
friend

Member Data Documentation

◆ alarmManager

AlarmableManager* Scene::alarmManager
private

◆ cameraManager

CameraManager* Scene::cameraManager
private

◆ collisionManager

CollisionManager* Scene::collisionManager
private

◆ drawManager

DrawableManager* Scene::drawManager
private

◆ executioner

Executioner* Scene::executioner
private

◆ keyboardManager

KeyboardEventManager* Scene::keyboardManager
private

◆ terrain

FlimTerrain* Scene::terrain
private

◆ updateManager

UpdatableManager* Scene::updateManager
private

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