Pyrogenesis HEAD
Pyrogenesis, a RTS Engine
ICmpMinimap.h
Go to the documentation of this file.
1/* Copyright (C) 2022 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_ICMPMINIMAP
19#define INCLUDED_ICMPMINIMAP
20
22
24
25#include <string>
26
27/**
28 * Per-unit minimap data.
29 */
30class ICmpMinimap : public IComponent
31{
32public:
33 /**
34 * Gets the data for rendering this entity on the minimap.
35 * If it should not be drawn, returns false; otherwise the arguments are set
36 * to the color and world position.
37 */
38 virtual bool GetRenderData(u8& r, u8& g, u8& b, entity_pos_t& x, entity_pos_t& z) const = 0;
39
40 /**
41 * Returns true if the entity is actively pinging based on the current time.
42 */
43 virtual bool CheckPing(double currentTime, double pingDuration) = 0;
44
45 /**
46 * Updates the entity's minimap color to match the player color.
47 */
48 virtual void UpdateColor() = 0;
49
50 /**
51 * Returns true if a minimap should have icon of this entity.
52 */
53 virtual bool HasIcon() = 0;
54
55 /**
56 * Returns a path to icon of this entity.
57 */
58 virtual std::string GetIconPath() = 0;
59
60 virtual float GetIconSize() = 0;
61
63};
64
65#endif // INCLUDED_ICMPMINIMAP
#define DECLARE_INTERFACE_TYPE(iname)
Definition: Interface.h:23
Entity coordinate types.
A simple fixed-point number class.
Definition: Fixed.h:120
Per-unit minimap data.
Definition: ICmpMinimap.h:31
virtual bool GetRenderData(u8 &r, u8 &g, u8 &b, entity_pos_t &x, entity_pos_t &z) const =0
Gets the data for rendering this entity on the minimap.
virtual std::string GetIconPath()=0
Returns a path to icon of this entity.
virtual float GetIconSize()=0
virtual void UpdateColor()=0
Updates the entity's minimap color to match the player color.
virtual bool HasIcon()=0
Returns true if a minimap should have icon of this entity.
virtual bool CheckPing(double currentTime, double pingDuration)=0
Returns true if the entity is actively pinging based on the current time.
Definition: IComponent.h:33
uint8_t u8
Definition: types.h:37