Files
CreatureLib/src/Battling/Flow/TurnHandler.hpp
Deukhoofd 0e874346bb
All checks were successful
continuous-integration/drone/push Build is passing
Pass ExecutingAttack values by reference instead of pointer.
2020-04-25 16:04:17 +02:00

29 lines
895 B
C++

#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(BaseTurnChoice* choice);
static void ExecuteAttackChoice(AttackTurnChoice* choice);
static void HandleAttackForTarget(ExecutingAttack* attack, Creature* target,
ExecutingAttack::TargetData& targetData);
static void ExecuteSwitchChoice(SwitchTurnChoice* choice);
static void ExecuteFleeChoice(FleeTurnChoice* choice);
public:
static void RunTurn(ChoiceQueue* queue);
};
}
#endif // CREATURELIB_TURNHANDLER_HPP