CreatureLib/src/Battling/Flow/TurnHandler.hpp

28 lines
907 B
C++
Raw Normal View History

#ifndef CREATURELIB_TURNHANDLER_HPP
#define CREATURELIB_TURNHANDLER_HPP
2019-11-03 12:47:50 +00:00
#include "../Models/ExecutingAttack.hpp"
#include "../TurnChoices/AttackTurnChoice.hpp"
2019-12-15 10:52:10 +00:00
#include "../TurnChoices/FleeTurnChoice.hpp"
#include "../TurnChoices/SwitchTurnChoice.hpp"
#include "ChoiceQueue.hpp"
namespace CreatureLib::Battling {
class Battle;
class TurnHandler {
2020-05-31 16:00:39 +00:00
static void ExecuteChoice(ArbUt::BorrowedPtr<BaseTurnChoice> choice);
2019-10-31 12:13:36 +00:00
2020-05-31 16:00:39 +00:00
static void ExecuteAttackChoice(ArbUt::BorrowedPtr<AttackTurnChoice> choice);
static void HandleAttackForTarget(ExecutingAttack* attack, Creature* target);
2020-05-31 16:00:39 +00:00
static void ExecuteSwitchChoice(ArbUt::BorrowedPtr<SwitchTurnChoice> choice);
static void ExecuteFleeChoice(ArbUt::BorrowedPtr<FleeTurnChoice> choice);
public:
static void RunTurn(ArbUt::BorrowedPtr<ChoiceQueue> queue);
};
}
#endif // CREATURELIB_TURNHANDLER_HPP