10#include "../../Components/Enemy.hpp"
11#include "../../Components/Transform.hpp"
12#include "../../Components/Velocity.hpp"
13#include "../ISystem.hpp"
System managing enemy AI behavior and attack patterns.
~AISystem() override=default
Default destructor.
AISystem()=default
Default constructor.
ComponentMask getComponentMask() const override
Gets the component mask for this system.
void update(Registry ®istry, float deltaTime) override
Updates all enemy AI behaviors.
void applyMovementPattern(const Enemy &enemy, Transform &transform, Velocity &velocity, float deltaTime)
Applies movement pattern to an enemy entity.
Component identifying an entity as an enemy with AI behavior.
Base interface for all ECS systems.
Manages entities, their signatures and component type registrations.
Component representing movement direction and speed.
Maximum number of distinct component types supported by the Registry.
std::uint64_t ComponentMask
Type alias for component bitmask.