summaryrefslogtreecommitdiff
path: root/sim/src/BaseBattle.h
diff options
context:
space:
mode:
authorAki <please@ignore.pl>2022-12-03 00:44:07 +0100
committerAki <please@ignore.pl>2022-12-03 00:44:07 +0100
commit18a763bcb19c5ece4b7b7d079dab07a1d915deb6 (patch)
tree137278522c98f5cb5cf4067886444b20b3eaf82d /sim/src/BaseBattle.h
parent18eba7f30381c05ee1c03bec5f537ec7d4dc9815 (diff)
downloadkurator-18a763bcb19c5ece4b7b7d079dab07a1d915deb6.zip
kurator-18a763bcb19c5ece4b7b7d079dab07a1d915deb6.tar.gz
kurator-18a763bcb19c5ece4b7b7d079dab07a1d915deb6.tar.bz2
Moved battles module files to sim
Diffstat (limited to 'sim/src/BaseBattle.h')
-rw-r--r--sim/src/BaseBattle.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/sim/src/BaseBattle.h b/sim/src/BaseBattle.h
new file mode 100644
index 0000000..8240fd2
--- /dev/null
+++ b/sim/src/BaseBattle.h
@@ -0,0 +1,40 @@
+#pragma once
+
+#include <entt/entity/registry.hpp>
+#include <entt/signal/dispatcher.hpp>
+
+#include <kurator/battles/Battle.h>
+#include <kurator/battles/Scenario.h>
+
+#include "RandomSpawner.h"
+#include "TeamManager.h"
+
+
+namespace kurator
+{
+namespace battles
+{
+
+
+class BaseBattle : public Battle
+{
+public:
+ BaseBattle(const 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 battles
+} // namespace kurator