]> git.localhorst.tv Git - blank.git/blobdiff - src/ai/Spawner.hpp
randomly spawn entities around the player
[blank.git] / src / ai / Spawner.hpp
index e3e8f24feea0326322266596576cf9d0e8e770dc..a0da02fb0ec939b4e7a6c8e2375a82b00d83d03a 100644 (file)
@@ -1,6 +1,8 @@
 #ifndef BLANK_AI_SPAWNER_HPP_
 #define BLANK_AI_SPAWNER_HPP_
 
+#include "../app/IntervalTimer.hpp"
+
 #include <list>
 #include <glm/glm.hpp>
 
@@ -19,12 +21,20 @@ public:
        void Update(int dt);
 
 private:
-       void Spawn(const glm::vec3 &);
+       void CheckDespawn() noexcept;
+       void TrySpawn();
+       void Spawn(const glm::tvec3<int> &, const glm::vec3 &);
 
 private:
        World &world;
        std::list<RandomWalk> controllers;
 
+       IntervalTimer timer;
+       float despawn_range;
+       float spawn_distance;
+       unsigned int max_entities;
+       int chunk_range;
+
 };
 
 }