5#include "vipra/vipra_behaviors/definitions/sim_pack.hpp"
6#include "vipra/vipra_behaviors/util/class_types.hpp"
7#include "vipra/vipra_behaviors/values/numeric_value.hpp"
9namespace VIPRA::Behaviors {
14class ModifierDistance {
15 NON_DEFAULT_CONSTRUCTIBLE(ModifierDistance)
16 COPYABLE(ModifierDistance)
17 MOVEABLE(ModifierDistance)
20 explicit ModifierDistance(
NumericValue value) : _dist(std::move(value)) {}
33 return pack.pedset.ped_coords(selfIdx).distance_to(
34 pack.pedset.ped_coords(targetIdx)) <= _dist.value(selfIdx);
auto operator()(Simpack pack, VIPRA::idx targetIdx, VIPRA::idx selfIdx) const -> bool
Returns if target is within distance.
Definition modifier_distance.hpp:31
Numeric Values hold runtime VIPRA::f_pnt values taken from Behaviors.
Definition numeric_value.hpp:21
Holds references to commonly used parameters for simpler passing.
Definition sim_pack.hpp:23