2020-06-05 13:32:05 +00:00
|
|
|
#ifndef CREATURELIB_RESOLVETARGET_HPP
|
|
|
|
#define CREATURELIB_RESOLVETARGET_HPP
|
|
|
|
#include "../../Library/Attacks/AttackTarget.hpp"
|
|
|
|
#include "../Models/Battle.hpp"
|
|
|
|
#include "../Models/Creature.hpp"
|
|
|
|
#include "../Models/CreatureIndex.hpp"
|
|
|
|
|
|
|
|
namespace CreatureLib::Battling {
|
|
|
|
class TargetResolver {
|
2021-05-24 08:34:42 +00:00
|
|
|
typedef ArbUt::List<ArbUt::OptionalBorrowedPtr<Creature>> TargetList;
|
|
|
|
|
2020-06-05 13:32:05 +00:00
|
|
|
public:
|
2021-05-24 08:34:42 +00:00
|
|
|
static TargetList ResolveTargets(const CreatureIndex& index, CreatureLib::Library::AttackTarget target,
|
|
|
|
const ArbUt::BorrowedPtr<Battle>& battle);
|
2021-05-24 08:57:17 +00:00
|
|
|
|
|
|
|
static bool IsValidTarget(const CreatureIndex& index, CreatureLib::Library::AttackTarget target,
|
|
|
|
const ArbUt::BorrowedPtr<Creature>& user);
|
2020-06-05 13:32:05 +00:00
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif // CREATURELIB_RESOLVETARGET_HPP
|