RioEngine  0.1
My first attempt to create a 3D WYSIWYG Game Engine
CDirector Class Reference

#include <cdirector.h>

Inheritance diagram for CDirector:
CObject

Public Types

enum  GameState { RUNNING, PAUSED, STOPPED }
 

Signals

virtual void onRunScene (CGameScene *game_scene)
 
virtual void onPauseScene (CGameScene *game_scene)
 
virtual void onResumeScene (CGameScene *game_scene)
 
virtual void onEndScene (CGameScene *game_scene)
 

Public Member Functions

 CDirector ()
 
 CDirector (const CDirector &)
 
CDirectoroperator= (const CDirector &)
 
GameState gameState () const
 
CGameScenecurrentGameScene () const
 
virtual void runWithScene (CGameScene *game_scene)
 
virtual void pushScene (CGameScene *game_scene)
 
virtual void popScene ()
 
virtual void replaceScene ()
 
virtual void resume ()
 
virtual void pause ()
 
virtual void step ()
 
const std::string & getActiveCameraId () const
 
CActionManageractionManager () const
 
bool existsCameraWithId (const std::string &camera_id) const
 
CCameragetCameraWithId (const std::string &camera_id) const
 
CCameracreateCamera (const std::string &camera_id)
 
CCameragetActiveCamera () const
 
void resetCameras ()
 
CCamerasetActiveCameraHavingId (const std::string &camera_id)
 
bool isActiveCameraWithId (const std::string &camera_id) const
 
 ~CDirector ()
 
- Public Member Functions inherited from CObject
 CObject ()
 
 CObject (const CObject &object)
 
CObjectoperator= (const CObject &object)
 
CObjectretain ()
 
unsigned int release () const
 
CObjectautorelease ()
 
unsigned int retainCount () const
 
bool isValidCObject () const
 
virtual ~CObject ()
 

Protected Member Functions

virtual void setGameState (GameState game_state)
 
void createDefaultCamera ()
 
void releaseCameras ()
 
- Protected Member Functions inherited from CObject
virtual void copyValuesFromObject (const CObject &object)
 

Protected Attributes

GameState m_gameState
 
CGameScenem_gameScene
 
CActionManagerm_actionManager
 
std::string m_activeCameraId
 
std::map< std::string, CCamera * > * m_cameras
 

Additional Inherited Members

- Static Public Member Functions inherited from CObject
static void safeRetain (void *pointer)
 
template<class T >
static void safeRelease (T *pointer)
 
template<class T >
static void safeReleaseArray (T *array)
 
static void safeRelease (const char *pointer)
 

Detailed Description

Controls the lifetime of the running game scene and its behaviour

Definition at line 46 of file cdirector.h.

Member Enumeration Documentation

Enumerator
RUNNING 
PAUSED 
STOPPED 

Definition at line 50 of file cdirector.h.

Constructor & Destructor Documentation

CDirector::CDirector ( void  )

Definition at line 42 of file cdirector.cpp.

CDirector::CDirector ( const CDirector )
explicit
CDirector::~CDirector ( )

Definition at line 208 of file cdirector.cpp.

Member Function Documentation

CActionManager * CDirector::actionManager ( ) const

Definition at line 51 of file cdirector.cpp.

CCamera * CDirector::createCamera ( const std::string &  camera_id)

Definition at line 91 of file cdirector.cpp.

void CDirector::createDefaultCamera ( )
protected

Definition at line 75 of file cdirector.cpp.

CGameScene * CDirector::currentGameScene ( ) const

Definition at line 69 of file cdirector.cpp.

bool CDirector::existsCameraWithId ( const std::string &  camera_id) const

Definition at line 127 of file cdirector.cpp.

CDirector::GameState CDirector::gameState ( ) const

Definition at line 57 of file cdirector.cpp.

CCamera * CDirector::getActiveCamera ( ) const

Definition at line 133 of file cdirector.cpp.

const std::string & CDirector::getActiveCameraId ( ) const

Definition at line 115 of file cdirector.cpp.

CCamera * CDirector::getCameraWithId ( const std::string &  camera_id) const

Definition at line 105 of file cdirector.cpp.

bool CDirector::isActiveCameraWithId ( const std::string &  camera_id) const

Definition at line 121 of file cdirector.cpp.

virtual void CDirector::onEndScene ( CGameScene game_scene)
virtualsignal
virtual void CDirector::onPauseScene ( CGameScene game_scene)
virtualsignal
virtual void CDirector::onResumeScene ( CGameScene game_scene)
virtualsignal
virtual void CDirector::onRunScene ( CGameScene game_scene)
virtualsignal
CDirector& CDirector::operator= ( const CDirector )
void CDirector::pause ( )
virtual

Definition at line 190 of file cdirector.cpp.

void CDirector::popScene ( )
virtual

TODO Forces the removal of the current game scene (e.g. game over)

Definition at line 171 of file cdirector.cpp.

void CDirector::pushScene ( CGameScene game_scene)
virtual

TODO A queue (LIFO) would be perfect to manage the list of game scenes to reproduce.

Definition at line 165 of file cdirector.cpp.

void CDirector::releaseCameras ( )
protected

Definition at line 82 of file cdirector.cpp.

void CDirector::replaceScene ( )
virtual

Definition at line 177 of file cdirector.cpp.

void CDirector::resetCameras ( )

Definition at line 147 of file cdirector.cpp.

void CDirector::resume ( )
virtual

Definition at line 183 of file cdirector.cpp.

void CDirector::runWithScene ( CGameScene game_scene)
virtual

Definition at line 156 of file cdirector.cpp.

CCamera * CDirector::setActiveCameraHavingId ( const std::string &  camera_id)

Definition at line 139 of file cdirector.cpp.

void CDirector::setGameState ( GameState  game_state)
protectedvirtual

Definition at line 63 of file cdirector.cpp.

void CDirector::step ( )
virtual

Performs a step. If you were to cap the game engine to 30FPS, then at least 30 step() calls per second would be needed.

Definition at line 197 of file cdirector.cpp.

Member Data Documentation

CActionManager* CDirector::m_actionManager
protected

Definition at line 104 of file cdirector.h.

std::string CDirector::m_activeCameraId
protected

Definition at line 105 of file cdirector.h.

std::map<std::string, CCamera*>* CDirector::m_cameras
protected

Definition at line 106 of file cdirector.h.

CGameScene* CDirector::m_gameScene
protected

Definition at line 103 of file cdirector.h.

GameState CDirector::m_gameState
protected

Definition at line 102 of file cdirector.h.


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