Wraith  0.1.5
Basic 3D game engine in C++
SceneManager Class Reference

Manager for scenes. Allows access for current scene and setting scenes to use More...

#include <SceneManager.h>

Collaboration diagram for SceneManager:
Collaboration graph

Static Public Member Functions

static void SetStartScene (Scene *pScene)
 Sets a start scene to begin with. More...
 
static void SetNextScene (Scene *pScene)
 Sets the next scene to change to. More...
 
static Scene * GetCurrentScene ()
 Gets the current scene. More...
 

Private Types

enum class  SceneChangeState { PENDING_SCENE_CHANGE , NO_SCENE_CHANGE }
 

Private Member Functions

 SceneManager (const SceneManager &)=delete
 
SceneManager & operator= (const SceneManager &)=delete
 
 SceneManager (SceneManager &&)=delete
 
SceneManager & operator= (SceneManager &&)=delete
 
void privSetStartScene (Scene *)
 
void privSetNextScene (Scene *)
 
Scene * privGetCurrentScene () const
 
void privInitializeStartScene () const
 
void privUpdate ()
 
void privDraw () const
 
void privChangeScene (Scene *)
 

Static Private Member Functions

static SceneManager & GetInstance ()
 
static void InitializeStartScene ()
 Initializes the starting scene. More...
 
static void Update ()
 Calls Scene::update() on current scene. More...
 
static void Draw ()
 Calls Scene::draw() on current scene. More...
 
static void ChangeScene (Scene *pScene)
 Changes to particular scene. More...
 
static void Delete ()
 

Private Attributes

Scene * _pCurrentScene
 
SceneChangeNullCommand * _pSceneChangeNullCommand
 
SceneChangeCommand * _pSceneChangeCommand
 
SceneManagerCommand * _pCurrentSceneCommand
 
SceneChangeState _currentSceneChangeState
 

Static Private Attributes

static SceneManager * pSceneManagerInstance = nullptr
 

Friends

class SceneManagerAttorney
 

Detailed Description

Manager for scenes. Allows access for current scene and setting scenes to use

Member Function Documentation

◆ ChangeScene()

static void SceneManager::ChangeScene ( Scene *  pScene)
inlinestaticprivate

Changes to particular scene.

Parameters
pScenethe pointer scene in which to change to.

◆ Draw()

static void SceneManager::Draw ( )
inlinestaticprivate

Calls Scene::draw() on current scene.

ONLY called by Wraith::Draw() through SceneManagerAttorney.

◆ InitializeStartScene()

static void SceneManager::InitializeStartScene ( )
inlinestaticprivate

Initializes the starting scene.

ONLY called by Wraith::LoadContent() through SceneManagerAttorney.

◆ Update()

static void SceneManager::Update ( )
inlinestaticprivate

Calls Scene::update() on current scene.

ONLY called by Wraith::update() through SceneManagerAttorney.


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