feat(entities): integració del sistema d'entitats al GameScene
This commit is contained in:
1 parent
96b71b0f65
commit
7191a08618
16 files changed
+683
-15
No files matched your search
@@ -41,6 +41,21 @@ namespace Map {
|
||||
back_wall_h = g["back_wall_h"].get_value<int>();
|
||||
side_wall_w = g["side_wall_w"].get_value<int>();
|
||||
|
||||
// Tile size + origen del tilemap (per a consumidors externs que
|
||||
// converteixen px ↔ tile). Fallbacks conservadors: tile_size per
|
||||
// defecte 16, origen [0, 0]. Si falten del YAML, només el sistema
|
||||
// d'entitats es veu afectat; la lògica de col·lisions actual no.
|
||||
tile_size = yaml.contains("tile_size") ? yaml["tile_size"].get_value<int>() : 16;
|
||||
tilemap_origin_x = 0;
|
||||
tilemap_origin_y = 0;
|
||||
if (yaml.contains("origin")) {
|
||||
const auto& o = yaml["origin"];
|
||||
if (o.is_sequence() && o.size() == 2) {
|
||||
tilemap_origin_x = o[0].get_value<int>();
|
||||
tilemap_origin_y = o[1].get_value<int>();
|
||||
}
|
||||
}
|
||||
|
||||
// Derivats: el passadís és el sobrant del pitch sobre el sarcòfag, i
|
||||
// l'exterior reutilitza la mateixa amplada per mantenir el pas lliure.
|
||||
corridor_w = pitch_x - sarc_w;
|
||||
|
||||
@@ -24,6 +24,16 @@ namespace Map {
|
||||
inline int pitch_x = 0;
|
||||
inline int pitch_y = 0;
|
||||
|
||||
// Metadades del tilemap (carregades de l'arrel del YAML: `tile_size:` i
|
||||
// `origin: [x, y]`). Són necessàries per a consumidors externs com el
|
||||
// sistema d'entitats, que tradueix coordenades píxel ↔ tile amb
|
||||
// tile_col = floor((px - tilemap_origin_x) / tile_size)
|
||||
// El grid és 16-alineat respecte a l'origen del tilemap (no del canvas);
|
||||
// origen habitual a pyramid.yaml és [-8, 0] (overscan horitzontal CPC).
|
||||
inline int tile_size = 0;
|
||||
inline int tilemap_origin_x = 0;
|
||||
inline int tilemap_origin_y = 0;
|
||||
|
||||
// Cromat de la sala: marcador (HUD), mur posterior (dalt) i murs
|
||||
// laterals. El mur frontal es deriva del passadís exterior inferior.
|
||||
inline int hud_h = 0;
|
||||
|
||||
Reference in new issue
Block a user