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

◆ DrawLineOfFireMuzzleToHit()

void WeaponDebug::DrawLineOfFireMuzzleToHit ( vector begin_point,
vector camera_dir,
vector camera_pos )
inlineprivate

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

308 {
309 vector contact_point_cam_trace;
310 vector contact_point_muzzle_trace;
311
312 vector contact_dir_muzzle;
313 vector contact_dir_camera;
314
315 vector contact_point;
316 vector contact_dir;
317
318 int contact_component;
319 int contact_component_muzzle;
320
321 vector end_point = camera_pos + camera_dir * 1000;
322 Man player = GetGame().GetPlayer();
323 Object player_o;
324 Class.CastTo(player_o, player);
325
326 if ( DayZPhysics.RaycastRV(camera_pos, end_point, contact_point_cam_trace, contact_dir_camera, contact_component,null, null, player_o , false, false, ObjIntersectFire, 0.1) )
327 {
328 m_ShapeFireDirCamera = Debug.DrawLine(begin_point, contact_point_cam_trace, Colors.RED, ShapeFlags.NOZBUFFER );
329 m_HitShape2 = Debug.DrawSphere(contact_point_cam_trace, 0.03, Colors.GREEN);
330 m_TargetDistance = vector.Distance( player.GetPosition(), contact_point_cam_trace);
331
332 if ( m_IsFireKeyPressed )
333 {
334 Debug.RemoveShape(m_PermanentLine1);
335 Debug.RemoveShape(m_PermanentLine2);
336 m_PermanentLine1 = Debug.DrawLine(begin_point, contact_point_cam_trace, Colors.RED, ShapeFlags.NOZBUFFER );
337 m_PermanentLine2 = Debug.DrawLine(camera_pos, contact_point_cam_trace, Colors.GREEN, ShapeFlags.NOZBUFFER );
338 }
339
340 }
341
342 else
343 {
344 m_ShapeFireDirCamera = Debug.DrawLine(begin_point, end_point, Colors.GREEN, ShapeFlags.NOZBUFFER );
345 m_TargetDistance = -1;
346 }
347
348 if ( DayZPhysics.RaycastRV(begin_point, contact_point_cam_trace, contact_point_muzzle_trace, contact_dir_muzzle, contact_component_muzzle, null, null, null, false, false, ObjIntersectFire, 0.0) )
349 {
350 m_HitShape3 = Debug.DrawSphere(contact_point_muzzle_trace, 0.03, COLOR_RED);
351 }
352 }
void Debug()
Определения UniversalTemperatureSource.c:349
proto native DayZPlayer GetPlayer()
bool m_IsFireKeyPressed
Определения WeaponDebug.c:24
Shape m_PermanentLine2
Определения WeaponDebug.c:47
Shape m_HitShape2
Определения WeaponDebug.c:42
Shape m_PermanentLine1
Определения WeaponDebug.c:46
Shape m_HitShape3
Определения WeaponDebug.c:43
float m_TargetDistance
Определения WeaponDebug.c:25
Shape m_ShapeFireDirCamera
Определения WeaponDebug.c:41
class LOD Object
proto native CGame GetGame()
@ Colors
Определения EnWorld.c:88
const int COLOR_RED
Определения constants.c:64
ShapeFlags
Определения EnDebug.c:126

Перекрестные ссылки Class::CastTo(), COLOR_RED, vector::Distance(), Debug::DrawLine(), Debug::DrawSphere(), GetGame(), CGame::GetPlayer(), Colors::GREEN, m_HitShape2, m_HitShape3, m_IsFireKeyPressed, m_PermanentLine1, m_PermanentLine2, m_ShapeFireDirCamera, m_TargetDistance, DayZPhysics::RaycastRV(), Colors::RED и Debug::RemoveShape().

Используется в OnPostFrameUpdate().