Symphony Of Empires
unit_widget.hpp
Go to the documentation of this file.
1 // Symphony of Empires
2 // Copyright (C) 2021, Symphony of Empires contributors
3 //
4 // This program 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 3 of the License, or
7 // (at your option) any later version.
8 //
9 // This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
16 //
17 // ----------------------------------------------------------------------------
18 // Name:
19 // eng3d/ui/unit_widget.hpp
20 //
21 // Abstract:
22 // Does some important stuff.
23 // ----------------------------------------------------------------------------
24 
25 #pragma once
26 
27 #include "eng3d/ui/div.hpp"
28 #include "eng3d/ui/window.hpp"
29 #include "unit.hpp"
30 
31 class Map;
32 class GameState;
33 class Unit;
34 namespace UI {
35  class Image;
36  class ProgressBar;
37 }
38 
39 namespace Interface {
40  class UnitWidget: public UI::Div {
41  UnitId unit_id;
42  Map& map;
43  GameState& gs;
44  std::shared_ptr<Eng3D::Texture> select_border_texture;
45  UI::Image* flag_img;
46  UI::Div* size_label;
47  UI::ProgressBar* experience_bar;
48  public:
49  UnitWidget(Map& map, GameState& gamestate, UI::Widget* parent);
50  void set_unit(Unit& _unit);
51  void set_size(size_t size);
52  virtual ~UnitWidget() = default;
53  };
54 
55  class UnitView: public UI::Window {
56  GameState& gs;
57  UnitId unit_id;
58  public:
59  UnitView(GameState& _gs, Unit& unit);
60  virtual ~UnitView() = default;
61  };
62 }
virtual ~UnitView()=default
UnitView(GameState &_gs, Unit &unit)
virtual ~UnitWidget()=default
void set_size(size_t size)
UnitWidget(Map &map, GameState &gamestate, UI::Widget *parent)
Definition: unit_widget.cpp:41
void set_unit(Unit &_unit)
Definition: unit_widget.cpp:82
Definition: map.hpp:89
Image widget, can display pictures or effects on the screen.
Definition: image.hpp:43
The master widget all the other widgets inherit from, do not use directly instead use one of the many...
Definition: widget.hpp:176
UI::Widget * parent
Definition: widget.hpp:314
Window widget, this widget is similar to a Group widget, the key difference is that this one can be m...
Definition: window.hpp:39
Roughly a batallion, consisting of approximately 500 soldiers each.
Definition: unit.hpp:80
A basic widget without any presets.
Definition: div.hpp:38