/* * BattleQueries.h, part of VCMI engine * * Authors: listed in file AUTHORS in main folder * * License: GNU General Public License v2.0 or later * Full text of license available in license.txt file, in main folder * */ #pragma once #include "CQuery.h" #include "../../lib/networkPacks/PacksForClientBattle.h" #include "../../lib/battle/BattleSide.h" VCMI_LIB_NAMESPACE_BEGIN class IBattleInfo; struct SideInBattle; VCMI_LIB_NAMESPACE_END class CBattleQuery : public CQuery { public: BattleSideArray belligerents; BattleSideArray initialHeroMana; BattleID battleID; std::optional result; CBattleQuery(CGameHandler * owner); CBattleQuery(CGameHandler * owner, const IBattleInfo * Bi); //TODO void notifyObjectAboutRemoval(const CObjectVisitQuery &objectVisit) const override; bool blocksPack(const CPack *pack) const override; void onRemoval(PlayerColor color) override; void onExposure(QueryPtr topQuery) override; }; class CBattleDialogQuery : public CDialogQuery { bool resultProcessed = false; const IBattleInfo * bi; std::optional result; public: CBattleDialogQuery(CGameHandler * owner, const IBattleInfo * Bi, std::optional Br); void onRemoval(PlayerColor color) override; };