DayZ 1.30
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
CCTCursor.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 CCTCursor(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 targetObject = target.GetObject();
21 if (!targetObject)
22 targetObject = target.GetParent();
23
24 if (!player || !targetObject || targetObject.IsDamageDestroyed())
25 return false;
26
27 vector playerPosition = player.GetPosition();
28 vector playerHeadPos = MiscGameplayFunctions.GetPlayerHeadPosition(player);
29
30 vector cursorHitPosition = target.GetCursorHitPos();
31
32 float distanceRoot = vector.DistanceSq(cursorHitPosition, playerPosition);
33 float distanceHead = vector.DistanceSq(cursorHitPosition, playerHeadPos);
34
35 return (distanceRoot <= m_MaximalActionDistanceSq || distanceHead <= m_MaximalActionDistanceSq);
36 }
37}
void ActionTarget(Object object, Object parent, int componentIndex, vector cursorHitPos, float utility, string surfaceName="")
Определения ActionTargets.c:125
Определения CCTBase.c:2
const float HEIGHT_PRONE
Определения CCTCursor.c:8
override bool Can(PlayerBase player, ActionTarget target)
Определения CCTCursor.c:15
void CCTCursor(float maximal_target_distance=UAMaxDistances.DEFAULT)
Определения CCTCursor.c:10
const float HEIGHT_CROUCH
Определения CCTCursor.c:7
const float HEIGHT_ERECT
Определения CCTCursor.c:6
float m_MaximalActionDistanceSq
Определения CCTCursor.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