Base class for managing game scenes Handles objects, updates, etc... More...
#include <Scene.hpp>
Public Member Functions | |
| Scene (const std::string &sceneName) | |
| Constructor. | |
| virtual | ~Scene ()=default |
| Virtual destructor. | |
| const std::string & | GetName () const |
| Get scene name. | |
| bool | CanExitWithKey () const |
| Check if scene can be exited with a key. | |
| void | SetCanExitWithKey (bool value) |
| Set if scene can be exited with a key. | |
| SceneManager * | GetSceneManager () const |
| Get scene manager. | |
| void | SetSceneManager (SceneManager *manager) |
| Set scene manager. | |
| void | SetInputManager (Input::InputManager *manager) |
| Set input manager for scene and all elements. | |
| void | AddElement (Objects::Object *element) |
| Add new element to scene. | |
| virtual void | Update () |
| Updates scene and all elements. | |
| void | RemoveElement (size_t index) |
| Remove element at specified index. | |
| void | RemoveElementByInstance (Objects::Object *element) |
| Remove specific element instance. | |
| int | GetElementIndex (Objects::Object *element) const |
| Get index of specific element. | |
| std::vector< Objects::Object * > | GetElements () const |
| Get all elements in scene. | |
| Objects::Object * | GetElement (size_t index) const |
| Get element at specific index. | |
| u32 | GetBackgroundColor () const |
| Get background color. | |
| void | SetBackgroundColor (u32 newColor) |
| Set background color. | |
| virtual void | OnLoad () |
| Called when scene is loaded. | |
| virtual void | OnUnload () |
| Called when scene is unloaded. | |
Protected Attributes | |
| std::vector< Objects::Object * > | elements |
| List of objects in the scene. | |
| bool | isLoaded = false |
| Flag indicating if scene is loaded. | |
| std::string | name |
| Unique name of the scene. | |
| bool | canExit = false |
| Flag indicating if scene can be exited. | |
| SceneManager * | sceneManager = nullptr |
| Pointer to scene manager. | |
| Input::InputManager * | inputManager = nullptr |
| Pointer to input manager. | |
| u32 | backgroundColor = Colors::clrBlack |
| Background color of the scene. | |
Base class for managing game scenes Handles objects, updates, etc...
|
inline |
Constructor.
| sceneName | Unique name for the scene |
| void Scene::Scene::AddElement | ( | Objects::Object * | element | ) |
Add new element to scene.
| element | Pointer to object to add |
|
inline |
Check if scene can be exited with a key.
|
inline |
Get background color.
|
inline |
Get element at specific index.
| index | Index of element |
| int Scene::Scene::GetElementIndex | ( | Objects::Object * | element | ) | const |
Get index of specific element.
| element | Pointer to element to find |
|
inline |
Get all elements in scene.
|
inline |
Get scene name.
|
inline |
Get scene manager.
|
inlinevirtual |
Called when scene is loaded.
Reimplemented in ConsoleScene, Level1Scene, and Level2Scene.
| void Scene::Scene::RemoveElement | ( | size_t | index | ) |
Remove element at specified index.
| index | Index of element to remove |
| void Scene::Scene::RemoveElementByInstance | ( | Objects::Object * | element | ) |
Remove specific element instance.
| element | Pointer to element to remove |
|
inline |
Set background color.
| newColor | New background color |
|
inline |
Set if scene can be exited with a key.
| value | New exit permission value |
| void Scene::Scene::SetInputManager | ( | Input::InputManager * | manager | ) |
Set input manager for scene and all elements.
| manager | Pointer to input manager |
|
inline |
Set scene manager.
| manager | Pointer to scene manager |