本文整理汇总了C++中CClientVehicle::CanUpdateSync方法的典型用法代码示例。如果您正苦于以下问题:C++ CClientVehicle::CanUpdateSync方法的具体用法?C++ CClientVehicle::CanUpdateSync怎么用?C++ CClientVehicle::CanUpdateSync使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CClientVehicle
的用法示例。
在下文中一共展示了CClientVehicle::CanUpdateSync方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Packet_UnoccupiedVehicleSync
void CUnoccupiedVehicleSync::Packet_UnoccupiedVehicleSync ( NetBitStreamInterface& BitStream )
{
// While we're not out of vehicles
while ( BitStream.GetNumberOfUnreadBits () >= 8 )
{
SUnoccupiedVehicleSync vehicle;
if ( BitStream.Read ( &vehicle ) )
{
CClientVehicle* pVehicle = m_pVehicleManager->Get ( vehicle.data.vehicleID );
if ( pVehicle && pVehicle->CanUpdateSync ( vehicle.data.ucTimeContext ) )
{
if ( vehicle.data.bSyncPosition ) pVehicle->SetTargetPosition ( vehicle.data.vecPosition, UNOCCUPIED_VEHICLE_SYNC_RATE, vehicle.data.bSyncVelocity, vehicle.data.vecVelocity.fZ );
if ( vehicle.data.bSyncRotation ) pVehicle->SetTargetRotation ( vehicle.data.vecRotation, UNOCCUPIED_VEHICLE_SYNC_RATE );
if ( vehicle.data.bSyncVelocity ) pVehicle->SetMoveSpeed ( vehicle.data.vecVelocity );
if ( vehicle.data.bSyncTurnVelocity ) pVehicle->SetTurnSpeed ( vehicle.data.vecTurnVelocity );
if ( vehicle.data.bSyncHealth ) pVehicle->SetHealth ( vehicle.data.fHealth );
pVehicle->SetEngineOn ( vehicle.data.bEngineOn );
if ( pVehicle->GetVehicleType() == CLIENTVEHICLE_TRAIN )
pVehicle->SetDerailed ( vehicle.data.bDerailed );
#ifdef MTA_DEBUG
pVehicle->m_pLastSyncer = NULL;
pVehicle->m_ulLastSyncTime = GetTickCount32 ();
pVehicle->m_szLastSyncType = "unoccupied";
#endif
}
}
else
break;
}
}