BattleProxy.cpp 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. /*
  2. * BattleProxy.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 "BattleProxy.h"
  12. #include "Unit.h"
  13. ///BattleProxy
  14. BattleProxy::BattleProxy(Subject subject_)
  15. : subject(subject_)
  16. {
  17. setBattle(this);
  18. player = subject->getPlayerID();
  19. }
  20. BattleProxy::~BattleProxy() = default;
  21. int32_t BattleProxy::getActiveStackID() const
  22. {
  23. auto ret = subject->battleActiveUnit();
  24. if(ret)
  25. return ret->unitId();
  26. else
  27. return -1;
  28. }
  29. TStacks BattleProxy::getStacksIf(TStackFilter predicate) const
  30. {
  31. return subject->battleGetStacksIf(predicate);
  32. }
  33. battle::Units BattleProxy::getUnitsIf(battle::UnitFilter predicate) const
  34. {
  35. return subject->battleGetUnitsIf(predicate);
  36. }
  37. BFieldType BattleProxy::getBattlefieldType() const
  38. {
  39. return subject->battleGetBattlefieldType();
  40. }
  41. ETerrainType BattleProxy::getTerrainType() const
  42. {
  43. return subject->battleTerrainType();
  44. }
  45. IBattleInfo::ObstacleCList BattleProxy::getAllObstacles() const
  46. {
  47. return subject->battleGetAllObstacles();
  48. }
  49. PlayerColor BattleProxy::getSidePlayer(ui8 side) const
  50. {
  51. return subject->sideToPlayer(side);
  52. }
  53. const CArmedInstance * BattleProxy::getSideArmy(ui8 side) const
  54. {
  55. return subject->battleGetArmyObject(side);
  56. }
  57. const CGHeroInstance * BattleProxy::getSideHero(ui8 side) const
  58. {
  59. return subject->battleGetFightingHero(side);
  60. }
  61. ui8 BattleProxy::getTacticDist() const
  62. {
  63. return subject->battleTacticDist();
  64. }
  65. ui8 BattleProxy::getTacticsSide() const
  66. {
  67. return subject->battleGetTacticsSide();
  68. }
  69. const CGTownInstance * BattleProxy::getDefendedTown() const
  70. {
  71. return subject->battleGetDefendedTown();
  72. }
  73. si8 BattleProxy::getWallState(int partOfWall) const
  74. {
  75. return subject->battleGetWallState(partOfWall);
  76. }
  77. EGateState BattleProxy::getGateState() const
  78. {
  79. return subject->battleGetGateState();
  80. }
  81. uint32_t BattleProxy::getCastSpells(ui8 side) const
  82. {
  83. return subject->battleCastSpells(side);
  84. }
  85. int32_t BattleProxy::getEnchanterCounter(ui8 side) const
  86. {
  87. return subject->battleGetEnchanterCounter(side);
  88. }
  89. const IBonusBearer * BattleProxy::asBearer() const
  90. {
  91. return subject->getBattleNode();
  92. }