|
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()