Cytopia  0.3
A city building simulation game
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
PowerGrid.hxx
Go to the documentation of this file.
1 #ifndef POWERGRID_HXX_
2 #define POWERGRID_HXX_
3 
4 #include "Point.hxx"
5 #include "../engine/GameObjects/MapGrid.hxx"
6 #include <vector>
7 
8 struct PowerNode
9 {
11  int powerProduction = 0;
12 };
13 
14 class PowerGrid;
15 void mergePowerGrids(PowerGrid &mainGrid, PowerGrid &toBeMerged);
16 
17 class PowerGrid : public MapGrid<PowerNode>
18 {
19 public:
20  PowerGrid(PowerNode powerNode);
21 
27  int getPowerLevel() const { return m_powerLevel; };
28 
33  void updatePowerLevel();
34 
35 private:
36  friend void mergePowerGrids(PowerGrid &mainGrid, PowerGrid &toBeMerged);
37 
38  int m_powerLevel = 0;
39 };
40 
41 #endif
PowerGrid::PowerGrid
PowerGrid(PowerNode powerNode)
Definition: PowerGrid.cxx:5
PowerGrid
Definition: PowerGrid.hxx:17
PowerGrid::getPowerLevel
int getPowerLevel() const
Get the Power Level of this grid.
Definition: PowerGrid.hxx:27
PowerNode::coordinate
Point coordinate
Definition: PowerGrid.hxx:10
PowerGrid::updatePowerLevel
void updatePowerLevel()
Recalculate the power level of this power grid.
Definition: PowerGrid.cxx:12
PowerNode
Definition: PowerGrid.hxx:8
mergePowerGrids
void mergePowerGrids(PowerGrid &mainGrid, PowerGrid &toBeMerged)
Definition: PowerGrid.cxx:7
Point
Definition: Point.hxx:7
PowerNode::powerProduction
int powerProduction
Definition: PowerGrid.hxx:11
PowerGrid::m_powerLevel
int m_powerLevel
Definition: PowerGrid.hxx:38
PowerGrid::mergePowerGrids
friend void mergePowerGrids(PowerGrid &mainGrid, PowerGrid &toBeMerged)
Definition: PowerGrid.cxx:7
MapGrid
Definition: MapGrid.hxx:7
Point.hxx