#pragma once #include #include #include #include #include "RandomSpawner.h" #include "TeamManager.h" namespace kurator { namespace sim { class BaseBattle : public Battle { public: BaseBattle(const campaign::Scenario& scenario); entt::registry& registry() override; entt::dispatcher& dispatcher() override; void update(float dt) override; private: entt::registry _registry; entt::dispatcher _dispatcher; RandomSpawner spawner; TeamManager manager; void pick_random_targets(); void keep_at_range(); void floating_movement(float dt); void turrets(float dt); void kill_off_dead(); }; } // namespace sim } // namespace kurator