1#ifndef _SCENE_BASE_HPP_
2#define _SCENE_BASE_HPP_
27 class ColliderComponent;
92 virtual bool Initialize();
94 virtual void Begin() = 0;
98 virtual void Update(
float deltaTime) = 0;
100 virtual void FixedUpdate(
float fixedDeltaTime);
102 virtual void LateUpdate(
float deltaTime);
128 virtual void RemoveObject(
GameObject*
object);
135 GameObject* FindObjectByName(
const std::string& name);
154 void SetSkybox(
Skybox* skybox);
Implements a dynamic array-like list for storing and managing a collection of elements.
LightManager * GetLightManager() const
Physics::PhysicsWorld * GetPhysicsWorld() const
SceneState GetState() const
SceneBase(const std::string &name)
List< GameObject * > Objects
Skybox * GetSkybox() const
void ProcessPendingDestroy()
Actually deletes objects queued by DestroyObject().
virtual void OnLoad()
Override to load scene-specific assets; called once from Load().
virtual void OnUnload()
Override to release scene-specific assets; called from Unload().
void DestroyAllObjects()
Destroys every object still owned by the scene, e.g. during Unload().
List< GameObject * > m_pendingDestroy
const List< GameObject * > & GetObjects() const
virtual void OnActivate()
Override for logic that should run when the scene becomes active.
size_t GetObjectCount() const
LightManager * m_lightManager
Camera * GetActiveCamera() const
virtual void OnDeactivate()
Override for logic that should run when the scene stops being active.
const std::string & GetName() const
void SetActiveCamera(Camera *cam)
Physics::PhysicsWorld * m_physicsWorld
Collision shapes, the broadphase tree, and the world that steps them.
Root namespace for everything the engine exposes.