]> git.localhorst.tv Git - blank.git/blobdiff - src/ai/Spawner.hpp
split graphics stuff from AI spawner
[blank.git] / src / ai / Spawner.hpp
index 9fb3d368de0dcd2a02156006422526a54a95a53f..d4c0a57f2c6b345d5749c04aa81ef31a22a0b8ca 100644 (file)
@@ -2,8 +2,6 @@
 #define BLANK_AI_SPAWNER_HPP_
 
 #include "../app/IntervalTimer.hpp"
-#include "../model/CompositeModel.hpp"
-#include "../model/EntityModel.hpp"
 #include "../rand/GaloisLFSR.hpp"
 
 #include <vector>
 namespace blank {
 
 class Controller;
+class Entity;
+class Skeletons;
 class World;
 
 class Spawner {
 
 public:
-       Spawner(World &, std::uint64_t seed);
+       Spawner(World &, Skeletons &, std::uint64_t seed);
        ~Spawner();
 
        void Update(int dt);
@@ -26,15 +26,13 @@ public:
 private:
        void CheckDespawn() noexcept;
        void TrySpawn();
-       void Spawn(const glm::ivec3 &, const glm::vec3 &);
+       void Spawn(Entity &reference, const glm::ivec3 &, const glm::vec3 &);
 
 private:
        World &world;
+       Skeletons &skeletons;
        std::vector<Controller *> controllers;
 
-       EntityModel models[3];
-       CompositeModel skeletons[3];
-
        GaloisLFSR random;
 
        IntervalTimer timer;