CDrawRoadsOperation.cpp 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. /*
  2. * CDrawRoadsOperation.cpp, 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. #include "StdInc.h"
  11. #include "CDrawRoadsOperation.h"
  12. const std::vector<CDrawRoadsOperation::RoadPattern> CDrawRoadsOperation::rules =
  13. {
  14. //single tile. fallback patern
  15. {
  16. {
  17. "-","-","-",
  18. "-","+","-",
  19. "-","-","-"
  20. },
  21. {14,14},
  22. {9,9},
  23. false,
  24. false
  25. },
  26. //Road straight with angle
  27. {
  28. {
  29. "?","-","+",
  30. "-","+","+",
  31. "+","+","?"
  32. },
  33. {2,5},
  34. {-1,-1},
  35. true,
  36. true
  37. },
  38. //Turn
  39. {
  40. {
  41. "?","-","?",
  42. "-","+","+",
  43. "?","+","?"
  44. },
  45. {0,1},
  46. {0,3},
  47. true,
  48. true
  49. },
  50. //Dead end horizontal
  51. {
  52. {
  53. "?","-","?",
  54. "-","+","+",
  55. "?","-","?"
  56. },
  57. {15,15},{11,12},
  58. false,
  59. true
  60. },
  61. //Dead end vertical
  62. {
  63. {
  64. "?","-","?",
  65. "-","+","-",
  66. "?","+","?"
  67. },
  68. {14,14},{9,10},
  69. true,
  70. false
  71. },
  72. //T-cross horizontal
  73. {
  74. {
  75. "?","+","?",
  76. "-","+","+",
  77. "?","+","?"
  78. },
  79. {6,7},{7,8},
  80. false,
  81. true
  82. },
  83. //T-cross vertical
  84. {
  85. {
  86. "?","-","?",
  87. "+","+","+",
  88. "?","+","?"
  89. },
  90. {8,9},{5,6},
  91. true,
  92. false
  93. },
  94. //Straight Horizontal
  95. {
  96. {
  97. "?","-","?",
  98. "+","+","+",
  99. "?","-","?"
  100. },
  101. {12,13},{11,12},
  102. false,
  103. false
  104. },
  105. //Straight Vertical
  106. {
  107. {
  108. "?","+","?",
  109. "-","+","-",
  110. "?","+","?"
  111. },
  112. {10,11},{9,10},
  113. false,
  114. false
  115. },
  116. //X-cross
  117. {
  118. {
  119. "?","+","?",
  120. "+","+","+",
  121. "?","+","?"
  122. },
  123. {16,16},{4,4},
  124. false,
  125. false
  126. }
  127. };
  128. ///CDrawRoadsOperation
  129. CDrawRoadsOperation::CDrawRoadsOperation(CMap * map, const CTerrainSelection & terrainSel, ERoadType::ERoadType roadType, CRandomGenerator * gen):
  130. CMapOperation(map),terrainSel(terrainSel), roadType(roadType), gen(gen)
  131. {
  132. }
  133. void CDrawRoadsOperation::execute()
  134. {
  135. }
  136. void CDrawRoadsOperation::undo()
  137. {
  138. //TODO
  139. }
  140. void CDrawRoadsOperation::redo()
  141. {
  142. //TODO
  143. }
  144. std::string CDrawRoadsOperation::getLabel() const
  145. {
  146. return "Draw Roads";
  147. }