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