#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(ArbUt::BorrowedPtr choice); static void HandleAttackForTarget(ExecutingAttack* attack, Creature* target); static void ExecuteSwitchChoice(ArbUt::BorrowedPtr choice); static void ExecuteFleeChoice(ArbUt::BorrowedPtr choice); public: static void RunTurn(ChoiceQueue* queue); }; } #endif // CREATURELIB_TURNHANDLER_HPP