//--------------------------------------------------------------------- void CVehicleWeapon::UpdateFPView(float frameTime) { CItem::UpdateFPView(frameTime); const EntityId ownerId = GetOwnerId(); //only update primary weapon IVehicle* pVehicle = GetVehicle(); if(ownerId && pVehicle && (pVehicle->GetCurrentWeaponId(ownerId, true) != GetEntityId())) { UpdateCrosshair(frameTime); } if (m_fm) { m_fm->UpdateFPView(frameTime); } if (m_zm) { m_zm->UpdateFPView(frameTime); } }
IItem* CPlayerRotation::GetCurrentItem(bool includeVehicle) { IItem * pCurrentItem = m_player.GetCurrentItem(); IVehicle* pVehicle = m_player.GetLinkedVehicle(); if (pVehicle && includeVehicle) { if (EntityId weaponId = pVehicle->GetCurrentWeaponId(m_player.GetEntity()->GetId())) { if (IItem* pItem = gEnv->pGame->GetIGameFramework()->GetIItemSystem()->GetItem(weaponId)) { if (IWeapon* pWeapon = pItem->GetIWeapon()) { pCurrentItem = pItem; } else { return NULL; } } } } return pCurrentItem; }