Advertisement
Guest User

Untitled

a guest
Sep 26th, 2016
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.13 KB | None | 0 0
  1. switch (type)
  2. {
  3. case FunctionType::DESELECT_UNITCARD:
  4. {
  5. int hoveredObject = UIUnitCards_.hovered(mousePosition_);
  6. if (hoveredObject != - 1)
  7. {
  8. f2 unitIndex = findUnitIndex(hoveredObject);
  9. Unit* unit = units_[unitIndex.x][unitIndex.y];
  10. unit->selected_ = false;
  11. }
  12. break;
  13. }
  14. case FunctionType::SELECT_UNITCARD:
  15. {
  16. int hoveredObject = UIUnitCards_.hovered(mousePosition_);
  17. if (hoveredObject != - 1)
  18. {
  19. deselectAll();
  20. f2 unitIndex = findUnitIndex(hoveredObject);
  21. Unit* unit = units_[unitIndex.x][unitIndex.y];
  22. unit->selected_ = true;
  23. }
  24. break;
  25. }
  26. case FunctionType::SELECTGROUP_UNITCARD:
  27. {
  28. deselectAll();
  29. int hoveredObject = UIUnitCards_.hovered(mousePosition_);
  30. if (hoveredObject != - 1)
  31. {
  32. f2 unitIndex = findUnitIndex(hoveredObject);
  33. Unit* unit = units_[unitIndex.x][unitIndex.y];
  34. selectUnitsOfSameType(unit->name_);
  35. }
  36. break;
  37. }
  38. case FunctionType::DESELECTGROUP_UNITCARD:
  39. {
  40. int hoveredObject = UIUnitCards_.hovered(mousePosition_);
  41. if (hoveredObject != - 1)
  42. {
  43. f2 unitIndex = findUnitIndex(hoveredObject);
  44. Unit* unit = units_[unitIndex.x][unitIndex.y];
  45. for (int i = 0; i < selectedUnits_.size(); ++i)
  46. {
  47. if (selectedUnits_[i]->name_ == unit->name_)
  48. {
  49. selectedUnits_[i]->selected_ = false;
  50. }
  51. }
  52. }
  53. break;
  54. }
  55. case FunctionType::CONTROL_ALL:
  56. {
  57. for (auto const& element : units_[currentTeam_])
  58. {
  59. element.second->selected_ = true;
  60. }
  61. break;
  62. }
  63. case FunctionType::SELECT_TYPE:
  64. {
  65. f2 unitIndex = findUnitIndex(mousePosition_);
  66. if (unitIndex != f2( - 1, - 1))
  67. {
  68. Unit* unit = units_[unitIndex.x][unitIndex.y];
  69. selectUnitsOfSameType(unit->name_);
  70. }
  71. break;
  72. }
  73. case FunctionType::CREATE_CONTROL_GROUP1:
  74. case FunctionType::CREATE_CONTROL_GROUP2:
  75. case FunctionType::CREATE_CONTROL_GROUP3:
  76. case FunctionType::CREATE_CONTROL_GROUP4:
  77. case FunctionType::CREATE_CONTROL_GROUP5:
  78. case FunctionType::CREATE_CONTROL_GROUP6:
  79. case FunctionType::CREATE_CONTROL_GROUP7:
  80. case FunctionType::CREATE_CONTROL_GROUP8:
  81. case FunctionType::CREATE_CONTROL_GROUP9:
  82. case FunctionType::CREATE_CONTROL_GROUP10:
  83. case FunctionType::CREATE_CONTROL_GROUP11:
  84. case FunctionType::CREATE_CONTROL_GROUP12:
  85. case FunctionType::CREATE_CONTROL_GROUP13:
  86. case FunctionType::CREATE_CONTROL_GROUP14:
  87. case FunctionType::CREATE_CONTROL_GROUP15:
  88. controlGroups_[static_cast<int>(type) - 40] = selectedUnits_;
  89. break;
  90. case FunctionType::RECALL_CONTROL_GROUP1:
  91. case FunctionType::RECALL_CONTROL_GROUP2:
  92. case FunctionType::RECALL_CONTROL_GROUP3:
  93. case FunctionType::RECALL_CONTROL_GROUP4:
  94. case FunctionType::RECALL_CONTROL_GROUP5:
  95. case FunctionType::RECALL_CONTROL_GROUP6:
  96. case FunctionType::RECALL_CONTROL_GROUP7:
  97. case FunctionType::RECALL_CONTROL_GROUP8:
  98. case FunctionType::RECALL_CONTROL_GROUP9:
  99. case FunctionType::RECALL_CONTROL_GROUP10:
  100. case FunctionType::RECALL_CONTROL_GROUP11:
  101. case FunctionType::RECALL_CONTROL_GROUP12:
  102. case FunctionType::RECALL_CONTROL_GROUP13:
  103. case FunctionType::RECALL_CONTROL_GROUP14:
  104. case FunctionType::RECALL_CONTROL_GROUP15:
  105. deselectAll();
  106. for (int i = 0; i < controlGroups_[static_cast<int>(type) - 55].size(); ++i)
  107. {
  108. Unit* unit = controlGroups_[static_cast<int>(type) - 55][i];
  109. unit->selected_ = true;
  110. }
  111. break;
  112. case FunctionType::CENTER_ON_CONTROL_GROUP1:
  113. case FunctionType::CENTER_ON_CONTROL_GROUP2:
  114. case FunctionType::CENTER_ON_CONTROL_GROUP3:
  115. case FunctionType::CENTER_ON_CONTROL_GROUP4:
  116. case FunctionType::CENTER_ON_CONTROL_GROUP5:
  117. case FunctionType::CENTER_ON_CONTROL_GROUP6:
  118. case FunctionType::CENTER_ON_CONTROL_GROUP7:
  119. case FunctionType::CENTER_ON_CONTROL_GROUP8:
  120. case FunctionType::CENTER_ON_CONTROL_GROUP9:
  121. case FunctionType::CENTER_ON_CONTROL_GROUP10:
  122. case FunctionType::CENTER_ON_CONTROL_GROUP11:
  123. case FunctionType::CENTER_ON_CONTROL_GROUP12:
  124. case FunctionType::CENTER_ON_CONTROL_GROUP13:
  125. case FunctionType::CENTER_ON_CONTROL_GROUP14:
  126. case FunctionType::CENTER_ON_CONTROL_GROUP15:
  127. for (int i = 0; i < controlGroups_[static_cast<int>(type) - 70].size(); ++i)
  128. {
  129. Unit* unit = controlGroups_[static_cast<int>(type) - 70][i];
  130. position += unit->center();
  131. }
  132. if (position.x > 0 && position.y > 0)
  133. {
  134. position /= float(controlGroups_[static_cast<int>(type) - 70].size());
  135. mainView_->setCenter(position);
  136. }
  137. break;
  138. case FunctionType::ADD_TO_CONTROL_GROUP1:
  139. case FunctionType::ADD_TO_CONTROL_GROUP2:
  140. case FunctionType::ADD_TO_CONTROL_GROUP3:
  141. case FunctionType::ADD_TO_CONTROL_GROUP4:
  142. case FunctionType::ADD_TO_CONTROL_GROUP5:
  143. case FunctionType::ADD_TO_CONTROL_GROUP6:
  144. case FunctionType::ADD_TO_CONTROL_GROUP7:
  145. case FunctionType::ADD_TO_CONTROL_GROUP8:
  146. case FunctionType::ADD_TO_CONTROL_GROUP9:
  147. case FunctionType::ADD_TO_CONTROL_GROUP10:
  148. case FunctionType::ADD_TO_CONTROL_GROUP11:
  149. case FunctionType::ADD_TO_CONTROL_GROUP12:
  150. case FunctionType::ADD_TO_CONTROL_GROUP13:
  151. case FunctionType::ADD_TO_CONTROL_GROUP14:
  152. case FunctionType::ADD_TO_CONTROL_GROUP15:
  153. for (int i = 0; i < selectedUnits_.size(); ++i)
  154. {
  155. controlGroups_[static_cast<int>(type) - 85].push_back(selectedUnits_[i]);
  156. }
  157. break;
  158. case FunctionType::FUNCTION1:
  159. case FunctionType::FUNCTION2:
  160. case FunctionType::FUNCTION3:
  161. case FunctionType::FUNCTION4:
  162. case FunctionType::FUNCTION5:
  163. case FunctionType::FUNCTION6:
  164. case FunctionType::FUNCTION7:
  165. case FunctionType::FUNCTION8:
  166. case FunctionType::FUNCTION9:
  167. case FunctionType::FUNCTION10:
  168. case FunctionType::FUNCTION11:
  169. case FunctionType::FUNCTION12:
  170. case FunctionType::FUNCTION13:
  171. case FunctionType::FUNCTION14:
  172. case FunctionType::FUNCTION15:
  173. case FunctionType::FUNCTION16:
  174. useAbility(static_cast<int>(type));
  175. break;
  176. case FunctionType::QUEU_FUNCTION1:
  177. case FunctionType::QUEU_FUNCTION2:
  178. case FunctionType::QUEU_FUNCTION3:
  179. case FunctionType::QUEU_FUNCTION4:
  180. case FunctionType::QUEU_FUNCTION5:
  181. case FunctionType::QUEU_FUNCTION6:
  182. case FunctionType::QUEU_FUNCTION7:
  183. case FunctionType::QUEU_FUNCTION8:
  184. case FunctionType::QUEU_FUNCTION9:
  185. case FunctionType::QUEU_FUNCTION10:
  186. case FunctionType::QUEU_FUNCTION11:
  187. case FunctionType::QUEU_FUNCTION12:
  188. case FunctionType::QUEU_FUNCTION13:
  189. case FunctionType::QUEU_FUNCTION14:
  190. case FunctionType::QUEU_FUNCTION15:
  191. case FunctionType::QUEU_FUNCTION16:
  192. useAbility(static_cast<int>(type));
  193. break;
  194. case FunctionType::ORDER_FUNCTION:
  195. {
  196. dynamicAbility(mousePosition_, false);
  197. break;
  198. }
  199. case FunctionType::QUEU_ORDER:
  200. {
  201. dynamicAbility(mousePosition_, true);
  202. break;
  203. }
  204. case FunctionType::CHANGE_SUBSELECTION:
  205. {
  206. for (int i = 0; i < currentSelectionTypes_.size(); ++i)
  207. {
  208. if (currentSelectionTypes_[i] == selectedSubGroupType_)
  209. {
  210. if (i + 1 < currentSelectionTypes_.size())
  211. {
  212. selectedSubGroupType_ = currentSelectionTypes_[i + 1];
  213. }
  214. else
  215. {
  216. selectedSubGroupType_ = currentSelectionTypes_[0];
  217. }
  218. break;
  219. }
  220. }
  221. break;
  222. }
  223. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement