#pragma once #include "Goal.h" class PathNavigation; class PathfinderMob; class Path; class AvoidPlayerGoal : public Goal { private: PathfinderMob* mob; // Owner of this goal float walkSpeed, sprintSpeed; std::weak_ptr toAvoid; float maxDist; Path* path; PathNavigation* pathNav; const std::type_info& avoidType; public: AvoidPlayerGoal(PathfinderMob* mob, const std::type_info& avoidType, float maxDist, float walkSpeed, float sprintSpeed); ~AvoidPlayerGoal(); virtual bool canUse(); virtual bool canContinueToUse(); virtual void start(); virtual void stop(); virtual void tick(); };