]> git.localhorst.tv Git - blobs.git/blobdiff - src/creature/Memory.hpp
remember remember
[blobs.git] / src / creature / Memory.hpp
index 3bc39082b0741017ecae5bebcb69fd8776867eb8..1d72c751bc694516fc608e5a19058d854f925315 100644 (file)
@@ -19,8 +19,7 @@ class Memory {
 public:
        struct Location {
                world::Planet *planet;
-               int surface;
-               glm::ivec2 coords;
+               glm::dvec3 position;
        };
 
 public:
@@ -28,10 +27,16 @@ 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 Tick(double dt);
+
 private:
        /// track time spent on a tile
        void TrackStay(const Location &, double t);