10#include "ncengine/type/EngineId.h"
41 virtual auto Queue(std::unique_ptr<Scene> scene)
noexcept ->
size_t = 0;
72auto BuildSceneModule() -> std::unique_ptr<
NcScene>;
Modules are extensions that provide functionality to the engine.
Definition: Module.h:18
Definition: ModuleRegistry.h:19
Module managing the scene queue and transitions.
Definition: NcScene.h:30
virtual auto UnloadActiveScene() -> bool=0
Unload the active scene and destroy it.
virtual void ScheduleTransition() noexcept=0
Schedule a transition to the next queued scene upon completion of the current frame.
virtual void DequeueScene(size_t queuePosition)=0
Remove a scene from the scene queue.
virtual auto Queue(std::unique_ptr< Scene > scene) noexcept -> size_t=0
Add a scene to the scene queue.
virtual auto LoadQueuedScene(ecs::Ecs world, ModuleRegistry &modules) -> bool=0
Load the next scene from the scene queue.
virtual auto GetNumberOfScenesInQueue() const noexcept -> size_t=0
Get the number of scenes in the scene queue.
virtual auto IsTransitionScheduled() const noexcept -> bool=0
Check if a scene transition is currently scheduled.