#include "../graphics/glm.hpp"
#include "../graphics/SimpleVAO.hpp"
+#include <memory>
#include <string>
#include <vector>
void Health(double h) noexcept { health = h; }
double Health() const noexcept { return health; }
+ void Hurt(double d) noexcept;
- void AddNeed(const Need &n) { needs.push_back(n); }
- const std::vector<Need> &Needs() const noexcept { return needs; }
+ void AddNeed(std::unique_ptr<Need> &&n) { needs.emplace_back(std::move(n)); }
+ const std::vector<std::unique_ptr<Need>> &Needs() const noexcept { return needs; }
void Tick(double dt);
private:
std::string name;
double health;
- std::vector<Need> needs;
+ std::vector<std::unique_ptr<Need>> needs;
Situation situation;