Cytopia  0.3
A city building simulation game
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ZoneManager.hxx
Go to the documentation of this file.
1 #ifndef ZONEMANAGER_HXX_
2 #define ZONEMANAGER_HXX_
3 
4 #include "ZoneArea.hxx"
5 #include "PowerGrid.hxx"
6 #include <MapNode.hxx>
7 
9 {
10 public:
11  ZoneManager();
12 
13  void reset();
14 
15 private:
20  void spawnBuildings();
21 
26  void update();
27 
33  void removeZoneNode(Point coordinate);
34 
42  std::vector<int> getAdjacentZoneAreas(const ZoneNode &zoneNode, std::vector<ZoneArea> &zoneAreas);
43 
50  void addZoneNodeToArea(ZoneNode &zoneNode, std::vector<ZoneArea> &zoneAreas);
51 
58  std::vector<ZoneArea> rebuildZoneArea(ZoneArea &zoneArea);
59 
60  void updatePower(const std::vector<PowerGrid> &powerGrid);
61 
62  void updateRemovedNodes(const MapNode *mapNode);
63 
64  void updatePlacedNodes(const MapNode &mapNode);
65 
66  std::vector<ZoneArea> m_zoneAreas;
67  std::vector<ZoneNode> m_nodesToAdd;
68  std::vector<Point> m_nodesToOccupy;
69  std::vector<Point> m_nodesToVacate;
70  std::vector<Point> m_nodesToRemove;
71 };
72 
73 #endif
ZoneManager::updatePlacedNodes
void updatePlacedNodes(const MapNode &mapNode)
Definition: ZoneManager.cxx:245
ZoneManager::m_zoneAreas
std::vector< ZoneArea > m_zoneAreas
Definition: ZoneManager.hxx:66
ZoneManager::spawnBuildings
void spawnBuildings()
Spawn Buildings on the gathered tileMap.
Definition: ZoneManager.cxx:83
ZoneManager::updatePower
void updatePower(const std::vector< PowerGrid > &powerGrid)
Definition: ZoneManager.cxx:198
ZoneManager::m_nodesToVacate
std::vector< Point > m_nodesToVacate
All zoneAreas.
Definition: ZoneManager.hxx:69
ZoneArea
Definition: ZoneArea.hxx:19
ZoneManager::removeZoneNode
void removeZoneNode(Point coordinate)
Removes a zonenode.
Definition: ZoneManager.cxx:168
ZoneManager
Definition: ZoneManager.hxx:8
ZoneManager::update
void update()
Process previously cached nodes to update.
Definition: ZoneManager.cxx:26
ZoneManager::ZoneManager
ZoneManager()
Definition: ZoneManager.cxx:9
PowerGrid.hxx
MapNode
Class that holds map nodes.
Definition: MapNode.hxx:30
MapNode.hxx
ZoneArea.hxx
ZoneManager::addZoneNodeToArea
void addZoneNodeToArea(ZoneNode &zoneNode, std::vector< ZoneArea > &zoneAreas)
Adds a zoneNode to a given area.
Definition: ZoneManager.cxx:124
ZoneManager::m_nodesToRemove
std::vector< Point > m_nodesToRemove
All zoneAreas.
Definition: ZoneManager.hxx:70
ZoneManager::updateRemovedNodes
void updateRemovedNodes(const MapNode *mapNode)
Definition: ZoneManager.cxx:221
ZoneManager::m_nodesToAdd
std::vector< ZoneNode > m_nodesToAdd
All zoneAreas.
Definition: ZoneManager.hxx:67
ZoneNode
Definition: ZoneArea.hxx:8
ZoneManager::rebuildZoneArea
std::vector< ZoneArea > rebuildZoneArea(ZoneArea &zoneArea)
rebuild a certain zone area
Definition: ZoneManager.cxx:156
Point
Definition: Point.hxx:7
ZoneManager::getAdjacentZoneAreas
std::vector< int > getAdjacentZoneAreas(const ZoneNode &zoneNode, std::vector< ZoneArea > &zoneAreas)
get a list of neighboring zoneareas for a zoneNode
Definition: ZoneManager.cxx:106
ZoneManager::reset
void reset()
Definition: ZoneManager.cxx:261
ZoneManager::m_nodesToOccupy
std::vector< Point > m_nodesToOccupy
All zoneAreas.
Definition: ZoneManager.hxx:68