feat(enemy): migrar el moviment dels enemics a un sistema d'IA declaratiu

This commit is contained in:
2026-05-25 17:45:30 +02:00
parent 410955de3c
commit 61e40e88f4
8 changed files with 379 additions and 95 deletions
+5
View File
@@ -21,6 +21,7 @@
#include "game/stage_system/stage_loader.hpp"
#include "game/systems/collision_system.hpp"
#include "game/systems/continue_system.hpp"
#include "game/systems/enemy_ai_system.hpp"
#include "game/systems/init_hud_animator.hpp"
// Using declarations per simplificar el codi
@@ -353,6 +354,7 @@ auto GameScene::stepContinueScreen(float delta_time) -> bool {
// Enemies, bullets y efectos siguen moviéndose en background.
for (auto& enemy : enemies_) {
Systems::EnemyAi::tick(enemy, delta_time);
enemy.update(delta_time);
}
for (auto& bullet : bullets_) {
@@ -379,6 +381,7 @@ auto GameScene::stepGameOver(float delta_time) -> bool {
// Enemies, bullets y efectos siguen moviéndose como fondo.
for (auto& enemy : enemies_) {
Systems::EnemyAi::tick(enemy, delta_time);
enemy.update(delta_time);
}
for (auto& bullet : bullets_) {
@@ -428,6 +431,7 @@ void GameScene::stepDeathSequence(float delta_time) {
// aunque otros jugadores aún jueguen.
if (algun_mort) {
for (auto& enemy : enemies_) {
Systems::EnemyAi::tick(enemy, delta_time);
enemy.update(delta_time);
}
for (auto& bullet : bullets_) {
@@ -528,6 +532,7 @@ void GameScene::runStagePlaying(float delta_time) {
}
}
for (auto& enemy : enemies_) {
Systems::EnemyAi::tick(enemy, delta_time);
enemy.update(delta_time);
}