#ifndef CREATURELIB_TURNHANDLER_HPP #define CREATURELIB_TURNHANDLER_HPP #include "../Models/ExecutingAttack.hpp" #include "../TurnChoices/AttackTurnChoice.hpp" #include "../TurnChoices/SwitchTurnChoice.hpp" #include "ChoiceQueue.hpp" namespace CreatureLib::Battling { class Battle; class TurnHandler { static void ExecuteChoice(BaseTurnChoice* choice); static void ExecuteAttackChoice(AttackTurnChoice* choice); static void HandleAttackForTarget(ExecutingAttack* attack, Creature* target, ExecutingAttack::TargetData* targetData); static void ExecuteSwitchChoice(SwitchTurnChoice* choice); public: static void RunTurn(Battle* battle, ChoiceQueue* queue); }; } #endif // CREATURELIB_TURNHANDLER_HPP