DayZ 1.30
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
CCTCursorParent.c
См. документацию.
2{
3 protected float m_MaximalActionDistanceSq;
4
5 //approximate head heights
6 const float HEIGHT_ERECT = 1.6;
7 const float HEIGHT_CROUCH = 1.05;
8 const float HEIGHT_PRONE = 0.66;
9
10 void CCTCursorParent(float maximal_target_distance = UAMaxDistances.DEFAULT)
11 {
12 m_MaximalActionDistanceSq = maximal_target_distance * maximal_target_distance;
13 }
14
15 override bool Can(PlayerBase player, ActionTarget target)
16 {
17 if (!target)
18 return false;
19
20 Object parentObject = target.GetParent();
21 if (!player || !parentObject || parentObject.IsDamageDestroyed())
22 return false;
23
24 vector playerPosition = player.GetPosition();
25 vector playerHeadPos = MiscGameplayFunctions.GetPlayerHeadPosition(player);
26
27 vector cursorHitPosition = target.GetCursorHitPos();
28
29 float distanceRoot = vector.DistanceSq(cursorHitPosition, playerPosition);
30 float distanceHead = vector.DistanceSq(cursorHitPosition, playerHeadPos);
31
32 return (distanceRoot <= m_MaximalActionDistanceSq || distanceHead <= m_MaximalActionDistanceSq);
33 }
34}
void ActionTarget(Object object, Object parent, int componentIndex, vector cursorHitPos, float utility, string surfaceName="")
Определения ActionTargets.c:125
Определения CCTBase.c:2
const float HEIGHT_ERECT
Определения CCTCursorParent.c:6
const float HEIGHT_CROUCH
Определения CCTCursorParent.c:7
void CCTCursorParent(float maximal_target_distance=UAMaxDistances.DEFAULT)
Определения CCTCursorParent.c:10
override bool Can(PlayerBase player, ActionTarget target)
Определения CCTCursorParent.c:15
float m_MaximalActionDistanceSq
Определения CCTCursorParent.c:3
const float HEIGHT_PRONE
Определения CCTCursorParent.c:8
Определения 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