X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fcreature%2FMemory.hpp;h=192d03aab091574b30199dce1c70407ca3b585ef;hb=cead4f0686af352cdbac1f2c2df9b6a21ad9faec;hp=c58fd26420576067d0688df153da1b5b0b6dd5df;hpb=cd80d7cfcac3c58d601db2ab4e0381dd77c06f44;p=blobs.git diff --git a/src/creature/Memory.hpp b/src/creature/Memory.hpp index c58fd26..192d03a 100644 --- a/src/creature/Memory.hpp +++ b/src/creature/Memory.hpp @@ -27,10 +27,18 @@ public: ~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); @@ -46,6 +54,11 @@ private: double time_spent; }; std::map known_types; + struct Profile { + double annoyance = 0.0; + double familiarity = 0.0; + }; + std::map known_creatures; };