Pyrogenesis HEAD
Pyrogenesis, a RTS Engine
ICmpRallyPointRenderer.h
Go to the documentation of this file.
1/* Copyright (C) 2018 Wildfire Games.
2 * This file is part of 0 A.D.
3 *
4 * 0 A.D. is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * 0 A.D. is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with 0 A.D. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18#ifndef INCLUDED_ICMPRALLYPOINTRENDERER
19#define INCLUDED_ICMPRALLYPOINTRENDERER
20
21#include "maths/FixedVector2D.h"
24
25/**
26 * Rally Point.
27 * Holds the position of a unit's rally points, and renders them to screen.
28 */
30{
31public:
32
33 /// Sets whether the rally point marker and line should be displayed.
34 virtual void SetDisplayed(bool displayed) = 0;
35
36 /// Sets the position at which the rally point marker should be displayed.
37 /// Discards all previous positions
38 virtual void SetPosition(const CFixedVector2D& position) = 0;
39
40 /// Updates the position of one given rally point marker.
41 virtual void UpdatePosition(u32 rallyPointId, const CFixedVector2D& position) = 0;
42
43 /// Add another position at which a marker should be displayed, connected
44 /// to the previous one.
45 virtual void AddPosition_wrapper(const CFixedVector2D& position) = 0;
46
47 /// Reset the positions of this rally point marker
48 virtual void Reset() = 0;
49
50 /// Returns true if at least one display rally point is set
51 virtual bool IsSet() const = 0;
52
53 /// Updates the line color
54 virtual void UpdateColor() = 0;
55
56 DECLARE_INTERFACE_TYPE(RallyPointRenderer)
57};
58
59#endif // INCLUDED_ICMPRALLYPOINTRENDERER
#define DECLARE_INTERFACE_TYPE(iname)
Definition: Interface.h:23
Entity coordinate types.
Definition: FixedVector2D.h:25
Rally Point.
Definition: ICmpRallyPointRenderer.h:30
virtual void UpdateColor()=0
Updates the line color.
virtual void SetDisplayed(bool displayed)=0
Sets whether the rally point marker and line should be displayed.
virtual void AddPosition_wrapper(const CFixedVector2D &position)=0
Add another position at which a marker should be displayed, connected to the previous one.
virtual void Reset()=0
Reset the positions of this rally point marker.
virtual void UpdatePosition(u32 rallyPointId, const CFixedVector2D &position)=0
Updates the position of one given rally point marker.
virtual void SetPosition(const CFixedVector2D &position)=0
Sets the position at which the rally point marker should be displayed.
virtual bool IsSet() const =0
Returns true if at least one display rally point is set.
Definition: IComponent.h:33
uint32_t u32
Definition: types.h:39