]> git.localhorst.tv Git - blobs.git/blobdiff - src/creature/LocateResourceGoal.hpp
fix resource locator
[blobs.git] / src / creature / LocateResourceGoal.hpp
index b5d390c7c69e71e9bdd519e90529fbd786ff0eae..1f31d0f426457781e49f1aec24ba4fdac9043e44 100644 (file)
@@ -1,6 +1,9 @@
 #ifndef BLOBS_CREATURE_LOCATERESOURCEGOAL_HPP_
 #define BLOBS_CREATURE_LOCATERESOURCEGOAL_HPP_
 
+#include "../math/glm.hpp"
+
+
 namespace blobs {
 namespace creature {
 
@@ -8,16 +11,27 @@ class LocateResourceGoal
 : public Goal {
 
 public:
-       explicit LocateResourceGoal(int resource);
+       LocateResourceGoal(Creature &, int resource);
        ~LocateResourceGoal() noexcept override;
 
 public:
-       void Enable(Creature &) override;
+       std::string Describe() const override;
+       void Enable() override;
        void Tick(double dt) override;
-       void Action(Creature &) override;
+       void Action() override;
+
+private:
+       void LocateResource();
+       void SearchVicinity();
+       bool OnTargetTile() const noexcept;
 
 private:
        int res;
+       bool found;
+       glm::dvec3 target_pos;
+       int target_srf;
+       glm::ivec2 target_tile;
+       bool searching;
 
 };