VIPRA Documentation
Loading...
Searching...
No Matches
include
vipra
vipra_behaviors
targets
target_modifiers
modifier_location.hpp
1
#pragma once
2
3
#include "vipra/vipra_behaviors/definitions/behavior_context.hpp"
4
#include "vipra/vipra_behaviors/definitions/sim_pack.hpp"
5
#include "vipra/vipra_behaviors/util/class_types.hpp"
6
7
namespace
VIPRA::Behaviors {
12
class
ModifierLocation {
13
NON_DEFAULT_CONSTRUCTIBLE(ModifierLocation)
14
COPYABLE(ModifierLocation)
15
MOVEABLE(ModifierLocation)
16
17
public
:
18
explicit
ModifierLocation(VIPRA::idx location) : _location(location) {}
19
29
auto
operator()
(
Simpack
pack, VIPRA::idx targetIdx,
30
VIPRA::idx
/*selfIdx*/
)
const
->
bool
31
{
32
auto
const
targetPos = pack.pedset.ped_coords(targetIdx);
33
return
pack.context.locations[_location].is_point_inside(targetPos);
34
}
35
36
private
:
37
VIPRA::idx _location;
38
};
39
}
// namespace VIPRA::Behaviors
VIPRA::Behaviors::ModifierLocation::operator()
auto operator()(Simpack pack, VIPRA::idx targetIdx, VIPRA::idx) const -> bool
Returns if target is within the location.
Definition
modifier_location.hpp:29
VIPRA::Behaviors::Simpack
Holds references to commonly used parameters for simpler passing.
Definition
sim_pack.hpp:23
Generated by
1.13.2