treballant en sistema de portes i claus
This commit is contained in:
@@ -43,29 +43,35 @@ class CollisionMap {
|
||||
[[nodiscard]] auto getConveyorBeltDirection() const -> int { return conveyor_belt_direction_; }
|
||||
[[nodiscard]] auto getCollisionTileMap() const -> const std::vector<int>& { return collision_tile_map_; }
|
||||
|
||||
#ifdef _DEBUG
|
||||
// Modifica un tile del mapa de colisiones (original + extendido) en runtime.
|
||||
// Lo usan: el editor de mapas (debug) y el DoorManager para mostrar/ocultar muros de puertas.
|
||||
void setCollisionTile(int index, int value);
|
||||
|
||||
#ifdef _DEBUG
|
||||
void setConveyorBeltDirection(int direction) { conveyor_belt_direction_ = direction; }
|
||||
#endif
|
||||
|
||||
private:
|
||||
static constexpr int B = CollisionBorder::TILES; // Tiles de borde
|
||||
static constexpr int MW = Map::WIDTH; // Ancho original (32)
|
||||
static constexpr int MH = Map::HEIGHT; // Alto original (21)
|
||||
static constexpr int EW = ExtendedMap::WIDTH; // Ancho extendido (38)
|
||||
static constexpr int EH = ExtendedMap::HEIGHT; // Alto extendido (27)
|
||||
static constexpr int B = CollisionBorder::TILES; // Tiles de borde
|
||||
static constexpr int MW = Map::WIDTH; // Ancho original (32)
|
||||
static constexpr int MH = Map::HEIGHT; // Alto original (21)
|
||||
static constexpr int EW = ExtendedMap::WIDTH; // Ancho extendido (38)
|
||||
static constexpr int EH = ExtendedMap::HEIGHT; // Alto extendido (27)
|
||||
|
||||
std::vector<int> collision_tile_map_; // Original (32×21)
|
||||
std::vector<int> extended_tile_map_; // Extendido (38×27) — referenciado por TileCollider
|
||||
std::vector<int> collision_tile_map_; // Original (32×21)
|
||||
std::vector<int> extended_tile_map_; // Extendido (38×27) — referenciado por TileCollider
|
||||
int conveyor_belt_direction_;
|
||||
TileCollider tile_collider_; // Debe ir después de extended_tile_map_ (usa referencia)
|
||||
TileCollider tile_collider_; // Debe ir después de extended_tile_map_ (usa referencia)
|
||||
|
||||
// Copia el centro (room actual) al mapa extendido. Los bordes quedan como EMPTY (0).
|
||||
void buildExtendedCenter();
|
||||
|
||||
// Copia una región rectangular de un tilemap fuente (MW×MH) al mapa extendido.
|
||||
void copyRegion(const std::vector<int>& src,
|
||||
int src_col, int src_row,
|
||||
int dst_col, int dst_row,
|
||||
int cols, int rows);
|
||||
int src_col,
|
||||
int src_row,
|
||||
int dst_col,
|
||||
int dst_row,
|
||||
int cols,
|
||||
int rows);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user