24 lines
830 B
C++
24 lines
830 B
C++
// enemy_ai_system.hpp - Executa la primitiva de moviment d'un enemic
|
|
// © 2026 JailDesigner
|
|
//
|
|
// Llegeix `enemy.getConfig().ai.movement` i aplica la primitiva corresponent
|
|
// (ZIGZAG, TRACKING, RECTILINEAR_PROXIMITY...). El sistema reemplaça el switch
|
|
// per type que vivia dins Enemy::update.
|
|
//
|
|
// A Fase C s'ampliarà per dispatchar també `ai.tick` (accions periòdiques tipus
|
|
// SHOOT), moment en què caldrà passar el Systems::Collision::Context per
|
|
// accedir a les bales i als ships.
|
|
|
|
#pragma once
|
|
|
|
class Enemy;
|
|
|
|
namespace Systems::EnemyAi {
|
|
|
|
// Aplica la primitiva de moviment activa de l'enemic durant aquest frame.
|
|
// No fa res si l'enemic està actualment wounded (manté el comportament
|
|
// legacy del switch original).
|
|
void tick(Enemy& enemy, float delta_time);
|
|
|
|
} // namespace Systems::EnemyAi
|