Zappy GUI
C++ graphic client: renderer, camera, network
Loading...
Searching...
No Matches
HudWidget.hpp
Go to the documentation of this file.
1
3
4#pragma once
5
6#include <functional>
7#include <string>
8
9#include "IWidget.hpp"
10#include "core/WorldState.hpp"
11
13class HudWidget : public IWidget {
14 public:
15 HudWidget() = default;
16 ~HudWidget() override = default;
17
18 void setWorld(const WorldState* world);
19 void setDevMode(bool dev, int port, const std::string& machine);
20 void setTimeUnit(int timeUnit);
21 void setServerUptime(unsigned int uptime);
22 void setTeamColorFunc(std::function<Color(const std::string&)> func);
23
24 void draw(int scaledFontSize) const override;
25 bool handleInput() override;
26
27 private:
28 const WorldState* _world = nullptr;
29 bool _devMode = false;
30 int _devPort = -1;
31 std::string _devMachine;
32 int _timeUnit = 0;
33 unsigned int _serverUptimeSeconds = 0;
34 std::function<Color(const std::string&)> _colorFunc;
35};
Interface for GUI widgets.
HUD widget for general information (map, uptime, fps, etc).
Definition HudWidget.hpp:13
unsigned int _serverUptimeSeconds
Definition HudWidget.hpp:33
void setServerUptime(unsigned int uptime)
Definition HudWidget.cpp:17
HudWidget()=default
const WorldState * _world
Definition HudWidget.hpp:28
std::string _devMachine
Definition HudWidget.hpp:31
int _timeUnit
Definition HudWidget.hpp:32
bool _devMode
Definition HudWidget.hpp:29
void setTeamColorFunc(std::function< Color(const std::string &)> func)
Definition HudWidget.cpp:18
void setDevMode(bool dev, int port, const std::string &machine)
Definition HudWidget.cpp:10
bool handleInput() override
Processes user input.
Definition HudWidget.cpp:23
void draw(int scaledFontSize) const override
Draws the widget.
Definition HudWidget.cpp:25
std::function< Color(const std::string &)> _colorFunc
Definition HudWidget.hpp:34
void setWorld(const WorldState *world)
Definition HudWidget.cpp:9
~HudWidget() override=default
void setTimeUnit(int timeUnit)
Definition HudWidget.cpp:16
Interface for GUI widgets.
Definition IWidget.hpp:11
Represents the state of the world in the game, including the map size, tile contents,...