feat(entities): migrar la configuració dels 3 enemics a data/entities/<type>/*.yaml
This commit is contained in:
1 parent
ed4d3a3915
commit
39bda0775e
14 files changed
+431
-212
No files matched your search
@@ -0,0 +1,30 @@
|
||||
// enemy_registry.hpp - Registre estàtic de configuracions d'enemics per tipus
|
||||
// © 2026 JailDesigner
|
||||
//
|
||||
// Carrega els 3 fitxers YAML (pentagon, square, pinwheel) un cop al startup
|
||||
// i exposa el lookup per EnemyType. Pensat per a ser invocat des de
|
||||
// GameScene; si la càrrega falla, el caller decideix avortar.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "game/entities/enemy.hpp"
|
||||
#include "game/entities/enemy_config.hpp"
|
||||
|
||||
class EnemyRegistry {
|
||||
public:
|
||||
EnemyRegistry() = delete; // tot estàtic
|
||||
|
||||
// Carrega els 3 descriptors. Retorna true si tots tres s'han carregat
|
||||
// i parsejat correctament. Cridar abans del primer get().
|
||||
static auto loadAll() -> bool;
|
||||
|
||||
// Lookup. Cal haver cridat loadAll() abans. Si el tipus no s'ha carregat
|
||||
// (loadAll fallida o no cridada), avorta amb log fatal.
|
||||
static auto get(EnemyType type) -> const EnemyConfig&;
|
||||
|
||||
private:
|
||||
static EnemyConfig pentagon_config;
|
||||
static EnemyConfig square_config;
|
||||
static EnemyConfig pinwheel_config;
|
||||
static bool loaded;
|
||||
};
|
||||
Reference in new issue
Block a user