#define BLANK_AI_SPAWNER_HPP_
#include "../app/IntervalTimer.hpp"
-#include "../rand/GaloisLFSR.hpp"
#include <vector>
#include <glm/glm.hpp>
namespace blank {
-class CompositeModel;
class Controller;
class Entity;
+class GaloisLFSR;
+class Model;
class Skeletons;
class World;
class Spawner {
public:
- Spawner(World &, Skeletons &, std::uint64_t seed);
+ Spawner(World &, Skeletons &, GaloisLFSR &);
~Spawner();
void LimitSkeletons(std::size_t begin, std::size_t end);
void TrySpawn();
void Spawn(Entity &reference, const glm::ivec3 &, const glm::vec3 &);
- CompositeModel &RandomSkeleton() noexcept;
+ Model &RandomSkeleton() noexcept;
private:
World &world;
Skeletons &skeletons;
std::vector<Controller *> controllers;
- GaloisLFSR random;
+ GaloisLFSR &random;
IntervalTimer timer;
float despawn_range;