#ifndef CREATURELIB_TURNHANDLER_HPP #define CREATURELIB_TURNHANDLER_HPP #include "../Models/ExecutingAttack.hpp" #include "../TurnChoices/AttackTurnChoice.hpp" #include "../TurnChoices/FleeTurnChoice.hpp" #include "../TurnChoices/SwitchTurnChoice.hpp" #include "ChoiceQueue.hpp" namespace CreatureLib::Battling { class Battle; class TurnHandler { static void ExecuteChoice(ArbUt::BorrowedPtr choice); static void ExecuteAttackChoice(const ArbUt::BorrowedPtr& choice); static void HandleAttackForTarget(ExecutingAttack* attack, const ArbUt::BorrowedPtr& target); static void ExecuteSwitchChoice(ArbUt::BorrowedPtr choice); static void ExecuteFleeChoice(ArbUt::BorrowedPtr choice); public: static void RunTurn(ArbUt::BorrowedPtr queue); }; } #endif // CREATURELIB_TURNHANDLER_HPP