3#include "Engine/Entity/Entity.h"
28 const char *
name =
nullptr;
73 virtual void tick(
double deltaTime);
89 virtual void onDraw(VkCommandBuffer commandBuffer);
Owns scene entities, actor lifetime, and the scene graph root.
GLFWwindow * getWindow() const
Returns the application window assigned during init().
virtual void collectSceneBrowserEntries(std::vector< SceneBrowserEntry > &entries) const
Appends scenes exposed to the scene browser.
virtual Entities::Scene * loadInitialScene()
Creates or returns the initial scene for this module.
virtual std::vector< std::filesystem::path > getInitialSceneContents() const
Returns asset paths to load into the initial scene.
virtual void registerCollisionProfiles(Physics::CollisionProfileRegistry ®istry)
Registers module-specific collision profiles.
virtual void postDraw()
Runs logic after drawing.
virtual void initUI(GLFWwindow *window)
Initializes module UI state with the application window.
virtual void startup()
Runs module startup logic after initialization.
virtual void shutdown()
Shuts down module-owned resources.
GameModule()=default
Creates an empty game module.
virtual void preTick()
Runs logic before the game tick.
virtual void postTick()
Runs logic after the game tick.
virtual void preDraw()
Runs logic before drawing.
virtual void init(GLFWwindow *window)
Initializes module state with the application window.
virtual void tick(double deltaTime)
Runs per-frame game logic.
virtual ~GameModule()=default
Destroys the game module.
virtual void onDraw(VkCommandBuffer commandBuffer)
Records module draw commands.
Registers collision profile names, enum mappings, and pair responses.
Scene factory entry exposed to the scene browser.
std::function< Entities::Scene *()> createScene
Factory that creates the scene entry.
const char * name
Display name shown in the scene browser.