~Memory();
public:
- void Tick(double dt);
-
+ /// remove all memories
void Erase();
+ /// try to remember where stuff was
+ /// when true, pos contains an approximation of the
+ /// location of the best fitting resource
+ bool RememberLocation(const Composition &, glm::dvec3 &pos) const noexcept;
+
+ void TrackCollision(Creature &);
+
+ void Tick(double dt);
+
private:
/// track time spent on a tile
void TrackStay(const Location &, double t);
double time_spent;
};
std::map<int, Stay> known_types;
+ struct Profile {
+ double annoyance = 0.0;
+ double familiarity = 0.0;
+ };
+ std::map<Creature *, Profile> known_creatures;
};