mostra les rutes dels enemics al editor

This commit is contained in:
2026-04-02 10:36:41 +02:00
parent a2caf95005
commit 606388227c
9 changed files with 96 additions and 13 deletions

View File

@@ -41,6 +41,15 @@ void EnemyManager::render() {
}
}
#ifdef _DEBUG
// Solo actualiza animaciones sin mover enemigos
void EnemyManager::updateAnimations(float delta_time) {
for (const auto& enemy : enemies_) {
enemy->updateAnimation(delta_time);
}
}
#endif
// Comprueba si hay colisión con algún enemigo
auto EnemyManager::checkCollision(SDL_FRect& rect) -> bool {
return std::ranges::any_of(enemies_, [&rect](const auto& enemy) {

View File

@@ -40,6 +40,10 @@ class EnemyManager {
// Detección de colisiones
auto checkCollision(SDL_FRect& rect) -> bool; // Comprueba si hay colisión con algún enemigo
#ifdef _DEBUG
void updateAnimations(float delta_time); // Solo actualiza animaciones sin mover enemigos
#endif
private:
std::vector<std::shared_ptr<Enemy>> enemies_; // Colección de enemigos
};

View File

@@ -121,6 +121,13 @@ void Room::renderItems() {
void Room::redrawMap() {
tilemap_renderer_->redrawMap(collision_map_.get());
}
// Actualiza animaciones sin mover enemigos (para editor de mapas)
void Room::updateEditorMode(float delta_time) {
tilemap_renderer_->update(delta_time);
enemy_manager_->updateAnimations(delta_time);
item_manager_->update(delta_time);
}
#endif
// Actualiza las variables y objetos de la habitación

View File

@@ -69,7 +69,8 @@ class Room {
void renderEnemies(); // Dibuja los enemigos en pantalla
void renderItems(); // Dibuja los objetos en pantalla
#ifdef _DEBUG
void redrawMap(); // Redibuja el mapa (para actualizar modo debug)
void redrawMap(); // Redibuja el mapa (para actualizar modo debug)
void updateEditorMode(float delta_time); // Actualiza animaciones sin mover enemigos (para editor)
#endif
void update(float delta_time); // Actualiza las variables y objetos de la habitación
auto getRoom(Border border) -> std::string; // Devuelve la cadena del fichero de la habitación contigua segun el borde