X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fcreature%2FLocateResourceGoal.hpp;h=c87f4f18a07b47712ca8ea776139288de1c11e16;hb=cd80d7cfcac3c58d601db2ab4e0381dd77c06f44;hp=afa5b93d00ee6ef8d0b364cd4988c03d716803f1;hpb=3b0a4ba59825b2d6a47e9d997736742edf55240c;p=blobs.git diff --git a/src/creature/LocateResourceGoal.hpp b/src/creature/LocateResourceGoal.hpp index afa5b93..c87f4f1 100644 --- a/src/creature/LocateResourceGoal.hpp +++ b/src/creature/LocateResourceGoal.hpp @@ -1,7 +1,8 @@ #ifndef BLOBS_CREATURE_LOCATERESOURCEGOAL_HPP_ #define BLOBS_CREATURE_LOCATERESOURCEGOAL_HPP_ -#include "../graphics/glm.hpp" +#include "Composition.hpp" +#include "../math/glm.hpp" namespace blobs { @@ -11,10 +12,12 @@ class LocateResourceGoal : public Goal { public: - LocateResourceGoal(Creature &, int resource); + LocateResourceGoal(Creature &); ~LocateResourceGoal() noexcept override; public: + void Accept(int resource, double attractiveness); + std::string Describe() const override; void Enable() override; void Tick(double dt) override; @@ -23,14 +26,14 @@ public: private: void LocateResource(); void SearchVicinity(); - bool OnTargetTile() const noexcept; + bool NearTarget() const noexcept; private: - int res; + Composition accept; bool found; glm::dvec3 target_pos; - int target_srf; - glm::ivec2 target_tile; + bool searching; + double reevaluate; };