CZonePlacer.h 821 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. /*
  2. * CZonePlacer.h, part of VCMI engine
  3. *
  4. * Authors: listed in file AUTHORS in main folder
  5. *
  6. * License: GNU General Public License v2.0 or later
  7. * Full text of license available in license.txt file, in main folder
  8. *
  9. */
  10. #pragma once
  11. class CZoneGraph;
  12. class CMap;
  13. class CRandomGenerator;
  14. class CRmgTemplateZone;
  15. class CPlacedZone
  16. {
  17. public:
  18. explicit CPlacedZone(const CRmgTemplateZone * zone);
  19. private:
  20. const CRmgTemplateZone * zone;
  21. //TODO exact outline data of zone
  22. //TODO perhaps further zone data, guards, obstacles, etc...
  23. };
  24. //TODO add voronoi helper classes(?), etc...
  25. class CZonePlacer
  26. {
  27. public:
  28. CZonePlacer();
  29. ~CZonePlacer();
  30. void placeZones(CMap * map, unique_ptr<CZoneGraph> graph, CRandomGenerator * gen);
  31. private:
  32. CMap * map;
  33. unique_ptr<CZoneGraph> graph;
  34. CRandomGenerator * gen;
  35. };