BattleQueries.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /*
  2. * BattleQueries.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. #include "CQuery.h"
  12. #include "../../lib/NetPacks.h"
  13. VCMI_LIB_NAMESPACE_BEGIN
  14. class IBattleInfo;
  15. VCMI_LIB_NAMESPACE_END
  16. class CBattleQuery : public CGhQuery
  17. {
  18. public:
  19. std::array<const CArmedInstance *,2> belligerents;
  20. std::array<int, 2> initialHeroMana;
  21. BattleID battleID;
  22. std::optional<BattleResult> result;
  23. CBattleQuery(CGameHandler * owner);
  24. CBattleQuery(CGameHandler * owner, const IBattleInfo * Bi); //TODO
  25. virtual void notifyObjectAboutRemoval(const CObjectVisitQuery &objectVisit) const override;
  26. virtual bool blocksPack(const CPack *pack) const override;
  27. virtual void onRemoval(PlayerColor color) override;
  28. };
  29. class CBattleDialogQuery : public CDialogQuery
  30. {
  31. public:
  32. CBattleDialogQuery(CGameHandler * owner, const IBattleInfo * Bi);
  33. const IBattleInfo * bi;
  34. virtual void onRemoval(PlayerColor color) override;
  35. };