DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ DoMeasurement()

void PoweredOptic_Base::DoMeasurement ( )
inlineprotected

См. определение в файле Rangefinder.c строка 80

81 {
82 PlayerBase player = GetPlayer();
83
84 if ( player )
85 {
86 vector from = GetGame().GetCurrentCameraPosition();
88 vector contact_pos;
89 vector contact_dir;
90 int contactComponent;
91
92 DayZPhysics.RaycastRV( from, to, contact_pos, contact_dir, contactComponent, NULL , NULL, player, false, false, ObjIntersectIFire);
93
94 // Generate result
95 float dist = vector.Distance( from, contact_pos );
96 dist = Math.Round(dist);
97
98 if (dist < RANGEFINDER_MAX_DISTANCE)
99 {
100 if( dist < 10 )
101 m_RangeText.SetText( "00" + dist.ToString() );
102 else if( dist < 100 )
103 m_RangeText.SetText( "0" + dist.ToString() );
104 else
105 m_RangeText.SetText( dist.ToString() );
106 }
107 else
108 {
109 m_RangeText.SetText( "- - -" );
110 }
111 }
112 }
PlayerBase GetPlayer()
Определения ModifierBase.c:51
proto native vector GetCurrentCameraPosition()
proto native vector GetCurrentCameraDirection()
static const float RANGEFINDER_MAX_DISTANCE
Определения Rangefinder.c:3
TextWidget m_RangeText
Определения Rangefinder.c:6
proto string ToString(bool simple=true)
static proto native float Distance(vector v1, vector v2)
Returns the distance between tips of two 3D vectors.
proto native CGame GetGame()

Перекрестные ссылки vector::Distance(), CGame::GetCurrentCameraDirection(), CGame::GetCurrentCameraPosition(), GetGame(), GetPlayer(), m_RangeText, RANGEFINDER_MAX_DISTANCE, DayZPhysics::RaycastRV(), Math::Round() и float::ToString().