DayZ 1.30
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
CCTObject.c
См. документацию.
2{
3 protected float m_MaximalActionDistanceSq;
4
5 void CCTObject(float maximal_target_distance = UAMaxDistances.DEFAULT)
6 {
7 m_MaximalActionDistanceSq = maximal_target_distance * maximal_target_distance;
8 }
9
10 override bool Can(PlayerBase player, ActionTarget target)
11 {
12 Object targetObject = target.GetObject();
13 if (!targetObject || !player)
14 return false;
15
16 vector playerPosition = player.GetPosition();
17 vector playerHeadPos = MiscGameplayFunctions.GetPlayerHeadPosition(player);
18
19 vector objectPosition = targetObject.GetPosition();
20
21 float distanceRoot = vector.DistanceSq(objectPosition, playerPosition);
22 float distanceHead = vector.DistanceSq(objectPosition, playerHeadPos);
23
24 return (distanceRoot <= m_MaximalActionDistanceSq || distanceHead <= m_MaximalActionDistanceSq);
25 }
26}
27
28class CCTParent : CCTBase
29{
31
32 void CCTParent(float maximal_target_distance = UAMaxDistances.DEFAULT)
33 {
34 m_MaximalActionDistanceSq = maximal_target_distance * maximal_target_distance;
35 }
36
37 override bool Can(PlayerBase player, ActionTarget target)
38 {
39 Object targetParent = target.GetParent();
40 if (!targetParent || !player)
41 return false;
42
43 vector playerPosition = player.GetPosition();
44 vector playerHeadPos = MiscGameplayFunctions.GetPlayerHeadPosition(player);
45
46 vector parentPosition = targetParent.GetPosition();
47
48 float distanceRoot = vector.DistanceSq(parentPosition, playerPosition);
49 float distanceHead = vector.DistanceSq(parentPosition, playerHeadPos);
50
51 return (distanceRoot <= m_MaximalActionDistanceSq || distanceHead <= m_MaximalActionDistanceSq);
52 }
53}
void ActionTarget(Object object, Object parent, int componentIndex, vector cursorHitPos, float utility, string surfaceName="")
Определения ActionTargets.c:125
void CCTParent(float maximal_target_distance=UAMaxDistances.DEFAULT)
Определения CCTObject.c:32
CCTObject m_MaximalActionDistanceSq
bool Can(PlayerBase player, ActionTarget target)
Определения CCTBase.c:3
Определения CCTBase.c:2
override bool Can(PlayerBase player, ActionTarget target)
Определения CCTObject.c:10
void CCTObject(float maximal_target_distance=UAMaxDistances.DEFAULT)
Определения CCTObject.c:5
float m_MaximalActionDistanceSq
Определения CCTObject.c:3
Определения ObjectTyped.c:2
Определения PlayerBaseClient.c:2
const float DEFAULT
Определения ActionConstants.c:114
static proto native float DistanceSq(vector v1, vector v2)
Returns the square distance between tips of two 3D vectors.
Определения EnConvert.c:119