summaryrefslogtreecommitdiff
path: root/src/level.hpp
diff options
context:
space:
mode:
authorJonathan Bradley <jcb@pikum.xyz>2025-09-09 16:05:14 -0400
committerJonathan Bradley <jcb@pikum.xyz>2025-09-09 16:05:14 -0400
commit5daa12fed0449a7811fc25ec62236bc060a56fa7 (patch)
tree5af5ff1c4de2ab49dd4d1db9934b3b4ee34a54c2 /src/level.hpp
parentc40277cd665e04d300ea839a1dd2ff675655f5fb (diff)
pke: first-pass promote pke_level over pke_scene
Major runtime ownership overhaul (scene -> level). Major ecs 'marked for removal' overhaul, ensuring that entities and their components are actually being removed when levels are unloaded.
Diffstat (limited to 'src/level.hpp')
-rw-r--r--src/level.hpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/level.hpp b/src/level.hpp
index c515eea..e9cb0c5 100644
--- a/src/level.hpp
+++ b/src/level.hpp
@@ -2,6 +2,7 @@
#define PKE_LEVEL_HPP
#include "level-types.hpp"
+#include "static-ui.hpp"
void pke_level_init();
void pke_level_teardown();
@@ -9,6 +10,11 @@ pke_level *pke_level_create(const char *levelName, pk_uuid level_uuid, pk_uuid e
pke_level *pke_level_get(LevelHandle handle);
pke_level *pke_level_get_by_name(const char *levelName);
struct pk_bkt_arr *pke_level_get_levels();
-void pke_level_remove(LevelHandle handle);
+
+void pke_level_teardown(pke_level *level);
+
+void pke_level_register_camera(pke_level *level, PkeCamera *camera);
+void pke_level_register_input_action_set(pke_level *level, pke_input_action_set_handle handle);
+void pke_level_register_root_ui_box(pke_level *level, pke_ui_box *box);
#endif /* PKE_LEVEL_HPP */