Changeset View
Changeset View
Standalone View
Standalone View
ps/trunk/source/simulation2/components/ICmpWayPointRenderer.h
/* Copyright (C) 2017 Wildfire Games. | |||||
* This file is part of 0 A.D. | |||||
* | |||||
* 0 A.D. 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 2 of the License, or | |||||
* (at your option) any later version. | |||||
* | |||||
* 0 A.D. 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 0 A.D. If not, see <http://www.gnu.org/licenses/>. | |||||
*/ | |||||
#ifndef INCLUDED_ICMPWAYPOINT | |||||
#define INCLUDED_ICMPWAYPOINT | |||||
#include "maths/FixedVector2D.h" | |||||
#include "simulation2/helpers/Position.h" | |||||
#include "simulation2/system/Interface.h" | |||||
/** | |||||
* Way Point. | |||||
* Holds the position(s) of a unit's way points, and renders them to screen. | |||||
*/ | |||||
class ICmpWayPointRenderer : public IComponent | |||||
{ | |||||
public: | |||||
/// Sets whether the way point marker and line should be displayed. | |||||
virtual void SetDisplayed(bool displayed) = 0; | |||||
/// Sets the position at which the way point marker should be displayed. | |||||
/// Discards all previous positions | |||||
virtual void SetPosition(const CFixedVector2D& position) = 0; | |||||
/// Add another position at which a marker should be displayed, connected | |||||
/// to the previous one. | |||||
virtual void AddPosition_wrapper(const CFixedVector2D& position) = 0; | |||||
/// At a position at which a marker should be displayed, connected to | |||||
/// the previous first. | |||||
virtual void AddPositionFront(const CFixedVector2D& position) = 0; | |||||
/// Remove the first way point (as we have reached it) | |||||
virtual void Shift() = 0; | |||||
DECLARE_INTERFACE_TYPE(WayPointRenderer) | |||||
}; | |||||
#endif // INCLUDED_ICMPWAYPOINT |
Wildfire Games · Phabricator