feat(levels): LevelManager amb índex de sales

Nou singleton Levels::LevelManager que llig data/maps/levels.yaml a la
primera get() i exposa currentPath/currentPyramid/currentRoom/
currentLabel + advance/restart/setIndex. És pur estat 'on sóc' — no
orquestra cap reload; la GameScene i l'Editor li preguntaran al pas
següent. Afegida constant Defaults::Pyramid::LEVELS_YAML al costat de
la MAP_YAML antiga (la substitució completa va al Step 3).
This commit is contained in:
JailDesigner committed 2026-04-26 14:48:15 +02:00
1 parent 8fd06887d1
commit fe17c35c67
4 files changed
+169

No files matched your search

+5
View File
@@ -231,6 +231,11 @@ namespace Defaults {
// en contingui cap literal; afegir una piràmide nova serà un altre
// conjunt de constants + un Config distint passat al ctor.
namespace Pyramid {
// Índex ordenat de les 30 sales (5 piràmides × 6 sales). El consumeix
// `Levels::LevelManager` a la primera invocació; cada entrada apunta
// a un `data/maps/p<N>/r<M>.yaml`. Substituirà `MAP_YAML` quan el
// wiring del LevelManager estigui complet.
constexpr const char* LEVELS_YAML = "data/maps/levels.yaml";
constexpr const char* MAP_YAML = "data/maps/pyramid.yaml";
constexpr const char* PLAYER_SPRITE = "data/player/sam.gif";
constexpr const char* PLAYER_YAML = "data/player/sam.yaml";