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

◆ HeadingModel()

override bool DayZPlayer::HeadingModel ( float pDt,
SDayZPlayerHeadingModel pModel )
inlineprotected

is replayed after correction when 'NetworkRewindType.REPLAY' is used

on ladder - do nothing

if it's standing from prone on back

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

1594 {
1595 if (!IsAlive())
1596 {
1597 return false;
1598 }
1599
1600 GetMovementState(m_MovementState);
1601
1603 if (m_MovementState.m_CommandTypeId == DayZPlayerConstants.COMMANDID_LADDER)
1604 {
1606 return false;
1607 }
1608 if (m_MovementState.m_CommandTypeId == DayZPlayerConstants.COMMANDID_VEHICLE)
1609 {
1610 HumanCommandVehicle hmv = GetCommand_Vehicle();
1611 if (hmv.IsGettingOut() || hmv.IsGettingIn())
1612 {
1613 return DayZPlayerImplementHeading.NoHeading(pDt, pModel, m_fLastHeadingDiff);
1614 }
1615
1617 return false;
1618 }
1619 if (m_MovementState.m_CommandTypeId == DayZPlayerConstants.COMMANDID_UNCONSCIOUS)
1620 {
1621 HumanCommandUnconscious hcu = GetCommand_Unconscious();
1622 if (!hcu.IsWakingUp())
1623 {
1625 //pModel.m_iCamMode = DayZPlayerConstants.CAMERAMODE_HEAD;
1626 return false;
1627 }
1628 }
1629
1630 if (m_MovementState.m_CommandTypeId == DayZPlayerConstants.COMMANDID_CLIMB)
1631 {
1633 return false;
1634 }
1635
1636#ifdef DEVELOPER
1637 int actMenuValue = DiagMenu.GetEngineValue(DayZPlayerConstants.DEBUG_TURNSLIDE);
1638 if (actMenuValue != 0)
1639 {
1641 return DayZPlayerImplementHeading.ClampHeading(pDt, pModel, m_fLastHeadingDiff);
1642 }
1643#endif
1644
1645 if (m_MovementState.m_iStanceIdx == DayZPlayerConstants.STANCEIDX_RAISEDPRONE)
1646 {
1648 return false;
1649 }
1650
1652 if (m_MovementState.m_CommandTypeId == DayZPlayerConstants.COMMANDID_MOVE)
1653 {
1654 HumanCommandMove hcm = GetCommand_Move();
1655 if (hcm.IsStandingFromBack())
1656 {
1658 return false;
1659 }
1660 }
1661
1662 HumanItemAccessor hia = GetItemAccessor();
1663 HumanItemBehaviorCfg hibcfg = hia.GetItemInHandsBehaviourCfg();
1664 if (hibcfg && hibcfg.m_StanceRotation[m_MovementState.m_iStanceIdx] == DayZPlayerConstants.ROTATION_DISABLE)
1665 {
1666 return DayZPlayerImplementHeading.NoHeading(pDt, pModel, m_fLastHeadingDiff);
1667 }
1668 if (IsUnconscious() || (GetCommand_Move() && GetCommand_Move().IsLeavingUncon()))
1669 {
1670 return DayZPlayerImplementHeading.NoHeading(pDt, pModel, m_fLastHeadingDiff);
1671 }
1672
1673 return DayZPlayerImplementHeading.RotateOrient(pDt, pModel, m_fLastHeadingDiff);
1674 }
ref HumanMovementState m_MovementState
time step for gradual update of dead screen visibilibty up to full visbility [s]
Определения DayZPlayerImplement.c:116
float m_fLastHeadingDiff
Определения DayZPlayerImplement.c:1590
proto native bool IsStandingFromBack()
return true if prone on back is chaning to crounch/stand
proto native bool IsWakingUp()
proto native bool IsGettingIn()
proto native bool IsGettingOut()
int m_StanceRotation[6]
6 stances -> all has movement mask, STANCEIDX_ ... is index
Определения humanitems.c:19
DayZPlayerConstants
defined in C++
Определения dayzplayer.c:602
void HumanCommandMove()
Определения human.c:514
void HumanCommandUnconscious()
Определения human.c:638
proto native bool IsLeavingUncon()
return true if character transitions out of uncon
void HumanItemAccessor()
Определения humanitems.c:141

Перекрестные ссылки DayZPlayerImplementHeading::ClampHeading(), DiagMenu::GetEngineValue(), HumanItemAccessor(), HumanCommandVehicle::IsGettingIn(), HumanCommandVehicle::IsGettingOut(), IsLeavingUncon(), HumanCommandMove::IsStandingFromBack(), HumanCommandUnconscious::IsWakingUp(), m_fLastHeadingDiff, m_MovementState, HumanItemBehaviorCfg::m_StanceRotation, DayZPlayerImplementHeading::NoHeading(), DayZPlayerImplementHeading::RotateOrient() и SDayZPlayerHeadingModel().