CreatureLib/src/Battling/Flow/TurnHandler.hpp

22 lines
656 B
C++
Raw Normal View History

#ifndef CREATURELIB_TURNHANDLER_HPP
#define CREATURELIB_TURNHANDLER_HPP
#include "ChoiceQueue.hpp"
2019-10-31 12:13:36 +00:00
#include "../TurnChoices/AttackTurnChoice.hpp"
2019-11-03 12:47:50 +00:00
#include "../Models/ExecutingAttack.hpp"
namespace CreatureLib::Battling {
class Battle;
class TurnHandler {
2019-10-31 12:13:36 +00:00
static void ExecuteChoice(const BaseTurnChoice* choice);
static void ExecuteAttackChoice(const AttackTurnChoice* choice);
2019-11-03 12:47:50 +00:00
static void HandleAttackForTarget(ExecutingAttack& attack, Creature* target, ExecutingAttack::TargetData& targetData);
public:
static void RunTurn(Battle* battle, ChoiceQueue* queue);
};
}
#endif //CREATURELIB_TURNHANDLER_HPP