////////////////////////////////////////////////////////////////////// // This file is part of Remere's Map Editor ////////////////////////////////////////////////////////////////////// // Remere's Map Editor is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // Remere's Map Editor is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see . ////////////////////////////////////////////////////////////////////// #ifndef RME_WAYPOINTS_H_ #define RME_WAYPOINTS_H_ #include "position.h" class Waypoint { public: std::string name; Position pos; }; typedef std::map WaypointMap; class Waypoints { Map& map; public: Waypoints(Map& map) : map(map) { } ~Waypoints() { for (WaypointMap::iterator iter = waypoints.begin(); iter != waypoints.end(); ++iter) { delete iter->second; } } void addWaypoint(Waypoint* wp); Waypoint* getWaypoint(std::string name); Waypoint* getWaypoint(TileLocation* location); void removeWaypoint(std::string name); WaypointMap waypoints; WaypointMap::iterator begin() { return waypoints.begin(); } WaypointMap::const_iterator begin() const { return waypoints.begin(); } WaypointMap::iterator end() { return waypoints.end(); } WaypointMap::const_iterator end() const { return waypoints.end(); } }; #endif