Wraith
0.1.5
Basic 3D game engine in C++
|
A scene. The place where user defined game objects are created and controlled. Scene handles game object related process such as update, draw, input, and collision. More...
#include <Scene.h>
Public Member Functions | |
Scene (const Scene &)=default | |
Scene & | operator= (const Scene &)=default |
Scene (Scene &&)=default | |
Scene & | operator= (Scene &&)=default |
void | setCurrentCamera (Camera *pCamera) |
Sets current camera./ More... | |
void | setDefaultCameraAsCurrentCamera () |
Sets default camera as current camera./ More... | |
void | setCurrent2DCamera (Camera *p2DCamera) |
Sets current 2D camera. More... | |
void | setDefault2DCameraAsCurrentCamera () |
Sets default 2D camera as current camera 2D. More... | |
Camera * | getCurrentCamera () const |
Gets the current camera. More... | |
Camera * | getDefaultCamera () const |
Gets the default camera. More... | |
Camera * | getCurrent2DCamera () const |
Gets the current 2D camera. More... | |
Camera * | getDefault2DCamera () const |
Gets default 2D camera. More... | |
const Terrain * | getTerrain () const |
Gets the current terrain from the scene. More... | |
Protected Member Functions | |
template<class UserClass1 , class UserClass2 > | |
void | setCollisionPair () |
Sets collision pair between two user defined classes. More... | |
template<class UserClass > | |
void | setCollisionSelf () |
Sets collision within a single user defined class. More... | |
template<class UserClass > | |
void | setCollisionTerrain () |
Sets collision with the terrain. More... | |
void | setTerrain (const std::string &terrainObjectName) |
Sets the terrain to be used in the scene. More... | |
Private Member Functions | |
virtual void | initialize ()=0 |
Initializes this scene. More... | |
void | update () |
Calls on all managers (except DrawableManager)to perform their specified GameObject callbacks registered to this scene More... | |
void | draw () |
Calls on DrawableManager to call Drawable::draw() and Drawable::draw2D() on registered entities. More... | |
virtual void | sceneEnd ()=0 |
Ends the scene. More... | |
void | submitCommand (SceneRegistrationCommand *pCommand) |
Submit command for de/registration of GameObject properties. More... | |
void | registerEntity (Updatable *) |
void | deregisterEntity (Updatable *) |
void | registerEntity (Drawable *) |
void | deregisterEntity (Drawable *) |
void | register2DEntity (Drawable *) |
void | deregister2DEntity (Drawable *) |
void | registerEntity (Alarmable *, const float time, AlarmID) |
void | deregisterEntity (Alarmable *, AlarmID) |
void | registerEntity (Inputable *, AZUL_KEY, InputEvent) |
void | deregisterEntity (Inputable *, AZUL_KEY, InputEvent) |
void | executeCommands () |
CollisionManager & | getCollisionManager () |
Private Attributes | |
CameraManager | _cameraManager |
SceneRegistrationBroker | _sceneRegistrationBroker |
UpdatableManager | _updatableManager |
DrawableManager | _drawableManager |
AlarmableManager | _alarmableManager |
KeyboardEventManager | _keyboardEventManager |
CollisionManager | _collisionManager |
TerrainManager | _terrainManager |
Friends | |
class | SceneAttorney |
A scene. The place where user defined game objects are created and controlled. Scene handles game object related process such as update, draw, input, and collision.
Scene::initialize() and Scene::end() are functions that must be defined when deriving from Scene.
|
private |
Calls on DrawableManager to call Drawable::draw() and Drawable::draw2D() on registered entities.
This is called only by the SceneManager in SceneManager::Draw()
|
private |
Submit command for de/registration of GameObject properties.
This is used to commands to delay de/registation of GameObject properites
pCommand | the scene de/registrationcommand. |
|
private |
Calls on all managers (except DrawableManager)to perform their specified GameObject callbacks registered to this scene
This is called only by the SceneManager in SceneManager::Update()