/*! * @file mission_goal.h * @brief General definition of mission goals */ #ifndef _MISSION_GOAL_H #define _MISSION_GOAL_H #include "base_object.h" class TiXmlElement; typedef enum MissionState { MS_ACCOMPLISHED = 0, MS_RUNNING, MS_FAILED, MS_NUMBER }; //! A class representing a mission goal class MissionGoal : public BaseObject { public: MissionGoal(); virtual ~MissionGoal(); virtual void loadParams(const TiXmlElement* root); /** sets the mission description @param descrtiption: the string containing the description */ inline void setMissionDescription(std::string description) { this->missionDescription = description; } /** gets the mission description @returns the string containing the description */ inline std::string getMissionDescription() { return this->missionDescription; } virtual MissionState checkMissionGoal() = 0; protected: // perhaps there will be more than one description soon: a long and short version for different parsts in the gui std::string missionDescription; //!< the text description of the mission MissionState missionState; //!< the state of this mission }; #endif /* _MISSION_GOAL_H */