]> git.localhorst.tv Git - blank.git/blobdiff - src/ai/Spawner.hpp
make command output visible to player(s)
[blank.git] / src / ai / Spawner.hpp
index 6591ef93d3a519648203526276608f437e0cd6ee..f99029e28f7fdec7b1f08f34d4ef6ff9ef28d269 100644 (file)
@@ -9,22 +9,19 @@
 
 namespace blank {
 
-class Controller;
 class Entity;
 class GaloisLFSR;
 class Model;
-class Skeletons;
-class TextureIndex;
+class ModelRegistry;
 class World;
 
 class Spawner {
 
 public:
-       Spawner(World &, Skeletons &, GaloisLFSR &);
+       Spawner(World &, ModelRegistry &, GaloisLFSR &);
        ~Spawner();
 
-       void LimitSkeletons(std::size_t begin, std::size_t end);
-       void LoadTextures(TextureIndex &);
+       void LimitModels(std::size_t begin, std::size_t end);
 
        void Update(int dt);
 
@@ -33,25 +30,23 @@ private:
        void TrySpawn();
        void Spawn(Entity &reference, const glm::ivec3 &, const glm::vec3 &);
 
-       Model &RandomSkeleton() noexcept;
+       Model &RandomModel() noexcept;
 
 private:
        World &world;
-       Skeletons &skeletons;
-       std::vector<Controller *> controllers;
+       ModelRegistry &models;
+       std::vector<Entity *> entities;
 
        GaloisLFSR &random;
 
-       IntervalTimer timer;
+       CoarseTimer timer;
        float despawn_range;
        float spawn_distance;
        unsigned int max_entities;
        int chunk_range;
 
-       std::size_t skeletons_offset;
-       std::size_t skeletons_length;
-
-       std::vector<float> tex_map;
+       std::size_t model_offset;
+       std::size_t model_length;
 
 };