DayZ 1.27
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 строка 1530

1531 {
1532 if (!IsAlive())
1533 {
1534 return false;
1535 }
1536
1537 GetMovementState(m_MovementState);
1538
1540 if (m_MovementState.m_CommandTypeId == DayZPlayerConstants.COMMANDID_LADDER)
1541 {
1543 return false;
1544 }
1545 if (m_MovementState.m_CommandTypeId == DayZPlayerConstants.COMMANDID_VEHICLE)
1546 {
1547 HumanCommandVehicle hmv = GetCommand_Vehicle();
1548 if (hmv.IsGettingOut() || hmv.IsGettingIn())
1549 {
1550 return DayZPlayerImplementHeading.NoHeading(pDt, pModel, m_fLastHeadingDiff);
1551 }
1552
1554 return false;
1555 }
1556 if (m_MovementState.m_CommandTypeId == DayZPlayerConstants.COMMANDID_UNCONSCIOUS)
1557 {
1558 HumanCommandUnconscious hcu = GetCommand_Unconscious();
1559 if (!hcu.IsWakingUp())
1560 {
1562 //pModel.m_iCamMode = DayZPlayerConstants.CAMERAMODE_HEAD;
1563 return false;
1564 }
1565 }
1566
1567 if (m_MovementState.m_CommandTypeId == DayZPlayerConstants.COMMANDID_CLIMB)
1568 {
1570 return false;
1571 }
1572
1573#ifdef DEVELOPER
1574 int actMenuValue = DiagMenu.GetEngineValue(DayZPlayerConstants.DEBUG_TURNSLIDE);
1575 if (actMenuValue != 0)
1576 {
1578 return DayZPlayerImplementHeading.ClampHeading(pDt, pModel, m_fLastHeadingDiff);
1579 }
1580#endif
1581
1582 if (m_MovementState.m_iStanceIdx == DayZPlayerConstants.STANCEIDX_RAISEDPRONE)
1583 {
1585 return false;
1586 }
1587
1589 if (m_MovementState.m_CommandTypeId == DayZPlayerConstants.COMMANDID_MOVE)
1590 {
1591 HumanCommandMove hcm = GetCommand_Move();
1592 if (hcm.IsStandingFromBack())
1593 {
1595 return false;
1596 }
1597 }
1598
1599 HumanItemAccessor hia = GetItemAccessor();
1600 HumanItemBehaviorCfg hibcfg = hia.GetItemInHandsBehaviourCfg();
1601 if (hibcfg && hibcfg.m_StanceRotation[m_MovementState.m_iStanceIdx] == DayZPlayerConstants.ROTATION_DISABLE)
1602 {
1603 return DayZPlayerImplementHeading.NoHeading(pDt, pModel, m_fLastHeadingDiff);
1604 }
1605 if (IsUnconscious() || (GetCommand_Move() && GetCommand_Move().IsLeavingUncon()))
1606 {
1607 return DayZPlayerImplementHeading.NoHeading(pDt, pModel, m_fLastHeadingDiff);
1608 }
1609
1610 return DayZPlayerImplementHeading.RotateOrient(pDt, pModel, m_fLastHeadingDiff);
1611 }
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:1527
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().