Files
orni-attack/source/game/systems/enemy_event_dispatcher.hpp
T

24 lines
969 B
C++

// enemy_event_dispatcher.hpp - Executa les accions YAML d'un event d'enemic
// © 2026 JailDesigner
//
// Mira la llista d'EnemyAction associada a l'event al config de l'enemic i les
// executa una per una. L'acció DESTROY dispara recursivament ON_DESTROY abans
// de desactivar físicament l'enemic (el parser garanteix que ON_DESTROY no
// conté DESTROY, evitant recursió infinita).
#pragma once
#include <cstdint>
#include "game/entities/enemy_event.hpp"
#include "game/systems/collision_system.hpp"
namespace Systems::EnemyEvents {
// shooter_id: id del jugador que ha disparat (0xFF = sense atribució).
// bullet: punter opcional a la bala que ha causat l'event (usat per APPLY_IMPULSE);
// nullptr per a events no derivats d'una bala (on_hurt_end).
void dispatchEvent(Systems::Collision::Context& ctx, Enemy& enemy, EnemyEventType event, uint8_t shooter_id, const Bullet* bullet = nullptr);
} // namespace Systems::EnemyEvents