61 virtual void Update(
float deltaTime);
Represents a 2D camera with position, rotation, and zoom control.
Represents a 3D perspective camera with world transform and projection settings.
2D drawable component for rendering objects in 2D space.
3D drawable component for rendering objects in 3D space.
std::shared_ptr< Camera > mActiveCamera3D
virtual void Shutdown()
Releases scene-specific resources and prepares for shutdown.
std::vector< Drawable3D * > mDrawables3D
virtual void Update(float deltaTime)
Updates all objects within the scene.
void LoadScene(std::string newSceneName)
Requests to load another scene.
SceneManager & GetSceneManager()
Gets a reference to the SceneManager that owns this scene.
std::vector< Drawable2D * > mDrawables2D
virtual void Initialize()
Initializes scene resources and drawables.
SceneManager & mSceneManager
~Scene()=default
Virtual destructor for safe polymorphic destruction.
Scene(SceneManager &sceneManager)
Constructs a Scene instance associated with a SceneManager.
std::shared_ptr< Camera2D > mActiveCamera2D
virtual void Draw()
Renders all 3D and 2D drawables in the scene.
Manages scenes, resource caches, and scene transitions within the rendering engine.