/* base/waypoint.h This file is part of the Osirion project and is distributed under the terms and conditions of the GNU General Public License version 2 */ #ifndef __INCLUDED_BASE_WAYPOINT_H__ #define __INCLUDED_BASE_WAYPOINT_H__ #include "core/entity.h" #include "base/cargo.h" namespace game { /** * @brief a node in the patrol's travel path * */ class WayPoint { public: WayPoint(); ~WayPoint(); inline core::Entity *target() { return waypoint_target; } inline const std::string & target_label() const { return waypoint_target_label; } inline const bool dock() const { return waypoint_dock; } inline const Cargo *cargo() const { return waypoint_cargo; } void set_target(core::Entity *entity); void set_target_label(const std::string &label); void set_cargo(Cargo *cargo); void set_dock(const bool dock); private: std::string waypoint_target_label; core::Entity *waypoint_target; Cargo *waypoint_cargo; bool waypoint_dock; }; } // namespace game #endif // __INCLUDED_BASE_WAYPOINT_H__