CAdventureAI.cpp 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. /*
  2. * CAdventureAI.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 "CAdventureAI.h"
  12. #include "CDynLibHandler.h"
  13. VCMI_LIB_NAMESPACE_BEGIN
  14. CGlobalAI::CGlobalAI()
  15. {
  16. human = false;
  17. }
  18. void CAdventureAI::battleNewRound(const BattleID & battleID)
  19. {
  20. battleAI->battleNewRound(battleID);
  21. }
  22. void CAdventureAI::battleCatapultAttacked(const BattleID & battleID, const CatapultAttack & ca)
  23. {
  24. battleAI->battleCatapultAttacked(battleID, ca);
  25. }
  26. void CAdventureAI::battleStart(const BattleID & battleID, const CCreatureSet * army1, const CCreatureSet * army2, int3 tile,
  27. const CGHeroInstance * hero1, const CGHeroInstance * hero2, BattleSide side, bool replayAllowed)
  28. {
  29. assert(!battleAI);
  30. assert(cbc);
  31. battleAI = CDynLibHandler::getNewBattleAI(getBattleAIName());
  32. battleAI->initBattleInterface(env, cbc);
  33. battleAI->battleStart(battleID, army1, army2, tile, hero1, hero2, side, replayAllowed);
  34. }
  35. void CAdventureAI::battleStacksAttacked(const BattleID & battleID, const std::vector<BattleStackAttacked> & bsa, bool ranged)
  36. {
  37. battleAI->battleStacksAttacked(battleID, bsa, ranged);
  38. }
  39. void CAdventureAI::actionStarted(const BattleID & battleID, const BattleAction & action)
  40. {
  41. battleAI->actionStarted(battleID, action);
  42. }
  43. void CAdventureAI::battleNewRoundFirst(const BattleID & battleID)
  44. {
  45. battleAI->battleNewRoundFirst(battleID);
  46. }
  47. void CAdventureAI::actionFinished(const BattleID & battleID, const BattleAction & action)
  48. {
  49. battleAI->actionFinished(battleID, action);
  50. }
  51. void CAdventureAI::battleStacksEffectsSet(const BattleID & battleID, const SetStackEffect & sse)
  52. {
  53. battleAI->battleStacksEffectsSet(battleID, sse);
  54. }
  55. void CAdventureAI::battleObstaclesChanged(const BattleID & battleID, const std::vector<ObstacleChanges> & obstacles)
  56. {
  57. battleAI->battleObstaclesChanged(battleID, obstacles);
  58. }
  59. void CAdventureAI::battleStackMoved(const BattleID & battleID, const CStack * stack, const BattleHexArray & dest, int distance, bool teleport)
  60. {
  61. battleAI->battleStackMoved(battleID, stack, dest, distance, teleport);
  62. }
  63. void CAdventureAI::battleAttack(const BattleID & battleID, const BattleAttack * ba)
  64. {
  65. battleAI->battleAttack(battleID, ba);
  66. }
  67. void CAdventureAI::battleSpellCast(const BattleID & battleID, const BattleSpellCast * sc)
  68. {
  69. battleAI->battleSpellCast(battleID, sc);
  70. }
  71. void CAdventureAI::battleEnd(const BattleID & battleID, const BattleResult * br, QueryID queryID)
  72. {
  73. battleAI->battleEnd(battleID, br, queryID);
  74. battleAI.reset();
  75. }
  76. void CAdventureAI::battleUnitsChanged(const BattleID & battleID, const std::vector<UnitChanges> & units)
  77. {
  78. battleAI->battleUnitsChanged(battleID, units);
  79. }
  80. void CAdventureAI::activeStack(const BattleID & battleID, const CStack * stack)
  81. {
  82. battleAI->activeStack(battleID, stack);
  83. }
  84. void CAdventureAI::yourTacticPhase(const BattleID & battleID, int distance)
  85. {
  86. battleAI->yourTacticPhase(battleID, distance);
  87. }
  88. VCMI_LIB_NAMESPACE_END