CreatureLib/src/Battling/Flow/ResolveTarget.hpp

22 lines
813 B
C++

#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 {
typedef ArbUt::List<ArbUt::OptionalBorrowedPtr<Creature>> TargetList;
public:
static TargetList ResolveTargets(const CreatureIndex& index, CreatureLib::Library::AttackTarget target,
const ArbUt::BorrowedPtr<Battle>& battle);
static bool IsValidTarget(const CreatureIndex& index, CreatureLib::Library::AttackTarget target,
const ArbUt::BorrowedPtr<Creature>& user);
};
}
#endif // CREATURELIB_RESOLVETARGET_HPP