/* * CBattleControlPanel.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 "../gui/CIntObject.h" class CStack; class CButton; class CBattleInterface; class CBattleConsole; class CBattleControlPanel : public CIntObject { CBattleInterface * owner; std::shared_ptr menu; std::shared_ptr bOptions; std::shared_ptr bSurrender; std::shared_ptr bFlee; std::shared_ptr bAutofight; std::shared_ptr bSpell; std::shared_ptr bWait; std::shared_ptr bDefence; std::shared_ptr bConsoleUp; std::shared_ptr bConsoleDown; std::shared_ptr btactNext; std::shared_ptr btactEnd; //button handle funcs: void bOptionsf(); void bSurrenderf(); void bFleef(); void bAutofightf(); void bSpellf(); void bWaitf(); void bDefencef(); void bConsoleUpf(); void bConsoleDownf(); void bTacticNextStack(); void bTacticPhaseEnd(); void reallyFlee(); //performs fleeing without asking player void reallySurrender(); //performs surrendering without asking player public: std::shared_ptr console; // block all UI elements, e.g. during enemy turn // unlike activate/deactivate this method will correctly grey-out all elements void blockUI(bool on); void tacticPhaseStarted(); void tacticPhaseEnded(); CBattleControlPanel(CBattleInterface * owner); };