- afegides claus i portes al editor
- fix: crear una nova habitació no modificava la memoria, soles els fitxers
This commit is contained in:
@@ -58,6 +58,26 @@ class DoorManager {
|
||||
*/
|
||||
void tryUnlock(const SDL_FRect& player_rect);
|
||||
|
||||
#ifdef _DEBUG
|
||||
// --- API para el editor (debug) ---
|
||||
[[nodiscard]] auto getCount() const -> int { return static_cast<int>(doors_.size()); }
|
||||
auto getDoor(int index) -> std::shared_ptr<Door>& { return doors_.at(index); }
|
||||
|
||||
/**
|
||||
* @brief Mueve la puerta indicada a (x, y) en píxeles
|
||||
*
|
||||
* Limpia los WALLs viejos del CollisionMap y, si la puerta sigue siendo
|
||||
* bloqueante, escribe los nuevos. Encapsula el bookkeeping de tiles para
|
||||
* que el editor nunca toque el CollisionMap directamente.
|
||||
*/
|
||||
void moveDoor(int index, float x, float y);
|
||||
|
||||
/**
|
||||
* @brief Elimina la puerta indicada del vector y limpia sus WALLs del CollisionMap
|
||||
*/
|
||||
void removeDoor(int index);
|
||||
#endif
|
||||
|
||||
private:
|
||||
static constexpr int DOOR_TILES_HEIGHT = 4; // Una puerta ocupa 4 tiles verticalmente
|
||||
|
||||
|
||||
Reference in New Issue
Block a user