//--------------------------------------------------------------------------- void CLam::PostUpdate(float frameTime) { if (IItem *pOwnerItem = m_pItemSystem->GetItem(GetParentId())) { CItem* pParentItem = (CItem *)pOwnerItem; if(!pParentItem->IsOwnerFP() && pParentItem->IsSelected()) UpdateTPLaser(frameTime,pParentItem); else if(pParentItem->IsOwnerFP()) UpdateFPLaser(frameTime,pParentItem); } }
//======================================= void CRocketLauncher::Update(SEntityUpdateContext& ctx, int slot) { FUNCTION_PROFILER(GetISystem(), PROFILE_GAME); CWeapon::Update(ctx,slot); if(slot==eIUS_General && m_laserTPOn) { UpdateTPLaser(ctx.fFrameTime); RequireUpdate(eIUS_General); } }
//---------------------------------------------------- void CRocketLauncher::ActivateTPLaser(bool activate) { if(activate) { DrawSlot( eIGS_Aux1,true); ActivateLaserDot(true,false); m_laserTPOn = true; //Force first update m_lastUpdate = 0.0f; m_smoothLaserLength = -1.0f; UpdateTPLaser(0.0f); RequireUpdate(eIUS_General); } else { DrawSlot( eIGS_Aux1,false); GetEntity()->SetSlotLocalTM( eIGS_Aux1,Matrix34::CreateIdentity()); ActivateLaserDot(false,false); m_laserTPOn = false; } }