#pragma once //#pragma warning (disable:4786) #include #include "ArcanistGoalTypes.h" #include "GoalComposite.h" class Vehicle; class GoalExplore : public GoalComposite { private: glm::vec2 m_CurrentDestination; // set to true when the destination for the exploration has been established bool m_DestinationIsSet; public: explicit GoalExplore(Vehicle* Owner) : GoalComposite(Owner, goal_explore), m_DestinationIsSet(false) {} void Activate() override; int Process() override; void Terminate() override {} bool HandleMessage(const Telegram& msg) override; void markOwnerWithGoal() override { m_Owner->m_Goal = m_Type; } };