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

◆ EOnContact()

override void BoatScript::EOnContact ( IEntity other,
Contact extra )
inlineprotected

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

366 {
367 if (GetGame().IsServer())
368 {
369 if (m_ContactData)
370 return;
371
372 float momentumDelta = GetMomentum() - m_MomentumPrevTick;
373 float dot = vector.Dot(m_VelocityPrevTick.Normalized(), GetVelocity(this).Normalized());
374 if (dot < 0)
375 momentumDelta = m_MomentumPrevTick;
376
377 m_ContactData = new VehicleContactData();
378 m_ContactData.SetData(extra.Position, other, momentumDelta); // change to local pos
379 }
380
381 if (!IsProxy())
382 {
383 if (EngineIsOn() && !CheckOperationalState())
384 EngineStop();
385 }
386
387 }
bool IsProxy()
Определения Hand_Events.c:65
float m_MomentumPrevTick
Определения BoatScript.c:47
vector m_VelocityPrevTick
Определения BoatScript.c:46
ref VehicleContactData m_ContactData
Определения BoatScript.c:48
bool CheckOperationalState()
Определения BoatScript.c:518
proto native CGame GetGame()
vector Position
Определения EnPhysics.c:323
proto native vector GetVelocity(notnull IEntity ent)
Returns linear velocity.

Перекрестные ссылки CheckOperationalState(), vector::Dot(), GetGame(), GetVelocity(), IsProxy(), m_ContactData, m_MomentumPrevTick, m_VelocityPrevTick и Contact::Position.