feat(entities): andamiatge del sistema d'entitats (classes, factory, bus, YAML, placeholders, smoke tests)

This commit is contained in:
JailDesigner committed 2026-04-21 12:35:19 +02:00
1 parent 984cc820c0
commit 96b71b0f65
48 files changed
+1957

No files matched your search

+9
View File
@@ -63,3 +63,12 @@ data: |
YZD...D...D...D...DTY
YZDDBBDDADDDBCDDDDDTY
YRXXXXXXXXXXXXXXXXXGY
# Spawns d'entitats per a aquest nivell. El carregador de Map ignora aquest
# bloc; només EntityLoader::readSpawns el consulta. Fase actual: andamiatge;
# encara no cablejat al GameScene, així que aquests spawns es llegiran com
# a dades però no instanciaran res al joc real fins que hi arribi la fase
# d'integració. `position` és [col, row] en la graella de sarcòfags
# (Map::grid_cols × Map::grid_rows) per a sarcòfags, o [col, row] en la
# graella de tiles de 16 px per a la resta (to be refinat).
entities: []
+44
View File
@@ -0,0 +1,44 @@
# Nivell mínim per al smoke test d'entitats. Conté la geometria reduïda
# per a poder carregar Map sense errors, però el seu propòsit real són
# els spawns de sota: l'smoke verifica que EntityLoader::readSpawns els
# retorna correctament i que EntityManager pot instanciar-los i wire-ar-los.
tileset: data/tilesets/tomb.gif
tile_size: 16
origin: [-8, 0]
geometry:
grid_cols: 2
grid_rows: 2
sarc_w: 48
sarc_h: 16
pitch_x: 64
pitch_y: 32
hud_h: 24
back_wall_h: 24
side_wall_w: 24
legend:
Y: 1
X: 169
data: |
YYYYYYYYYYYYYY
YXXXXXXXXXXXXY
YXXXXXXXXXXXXY
YXXXXXXXXXXXXY
YXXXXXXXXXXXXY
YXXXXXXXXXXXXY
YYYYYYYYYYYYYY
entities:
- type: torch
position: [1, 1]
- type: sarcophagus
position: [0, 0]
- type: sarcophagus
position: [1, 0]
- type: door
position: [1, 6]
- type: mummy
position: [3, 3]