#pragma once #include #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(engine::Context& ctx) override; private: double time; entt::registry _registry; entt::dispatcher _dispatcher; RandomSpawner spawner; TeamManager manager; void pick_random_targets(); void keep_at_range(); void kill_off_dead(); }; } // namespace sim } // namespace kurator