]> git.localhorst.tv Git - blank.git/blobdiff - src/ai/Spawner.hpp
send player updates from client to server
[blank.git] / src / ai / Spawner.hpp
index 7b56130f5f090aba00cfe9426637b1aa7d7d4bab..a1181d30bf96f77ec0809228f2079c7d0c7fa88f 100644 (file)
@@ -4,6 +4,7 @@
 #include "../app/IntervalTimer.hpp"
 #include "../model/CompositeModel.hpp"
 #include "../model/EntityModel.hpp"
+#include "../rand/GaloisLFSR.hpp"
 
 #include <vector>
 #include <glm/glm.hpp>
 namespace blank {
 
 class Controller;
+class Entity;
 class World;
 
 class Spawner {
 
 public:
-       explicit Spawner(World &);
+       Spawner(World &, std::uint64_t seed);
        ~Spawner();
 
        void Update(int dt);
@@ -25,7 +27,7 @@ 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;
@@ -34,6 +36,8 @@ private:
        EntityModel models[3];
        CompositeModel skeletons[3];
 
+       GaloisLFSR random;
+
        IntervalTimer timer;
        float despawn_range;
        float spawn_distance;