void CWeaponMagazined::OnZoomIn() { inherited::OnZoomIn(); if (GetState() == eIdle) PlayAnimIdle(); CActor* pActor = smart_cast<CActor*>(H_Parent()); if (pActor) { HUD_SOUND::StopSound(sndSightsUp); //daemonion - iron sight audio - sights being raised HUD_SOUND::StopSound(sndSightsDown); // bool b_hud_mode = (Level().CurrentEntity() == H_Parent()); // HUD_SOUND::PlaySound(sndSightsUp, H_Parent()->Position(), H_Parent(), b_hud_mode); //--END CEffectorZoomInertion* S = smart_cast<CEffectorZoomInertion*> (pActor->Cameras().GetCamEffector(eCEZoom)); if (!S) { S = (CEffectorZoomInertion*)pActor->Cameras().AddCamEffector(xr_new<CEffectorZoomInertion>()); S->Init(this); }; S->SetRndSeed(pActor->GetZoomRndSeed()); R_ASSERT(S); } }
void CWeaponMagazined::OnZoomIn () { inherited::OnZoomIn(); if(GetState() == eIdle) PlayAnimIdle(); CActor* pActor = smart_cast<CActor*>(H_Parent()); if(pActor) { CEffectorZoomInertion* S = smart_cast<CEffectorZoomInertion*> (pActor->Cameras().GetCamEffector(eCEZoom)); if (!S) { S = (CEffectorZoomInertion*)pActor->Cameras().AddCamEffector(xr_new<CEffectorZoomInertion> ()); S->Init(this); }; S->SetRndSeed(pActor->GetZoomRndSeed()); R_ASSERT (S); } }
void CWeaponMagazined::OnZoomOut () { if(!m_bZoomMode) return; inherited::OnZoomOut(); if(GetState() == eIdle) PlayAnimIdle(); CActor* pActor = smart_cast<CActor*>(H_Parent()); if(pActor) pActor->Cameras().RemoveCamEffector (eCEZoom); }
void CCustomDetector::UpdateNightVisionMode() { // CObject* tmp = Level().CurrentViewEntity(); bool bNightVision = false; if (GameID() == GAME_SINGLE) { bNightVision = Actor()->Cameras().GetPPEffector(EEffectorPPType(effNightvision))!=NULL; } else { if (Level().CurrentViewEntity() && Level().CurrentViewEntity()->CLS_ID == CLSID_OBJECT_ACTOR) { CActor* pActor = smart_cast<CActor*>(Level().CurrentViewEntity()); if (pActor) bNightVision = pActor->Cameras().GetPPEffector(EEffectorPPType(effNightvision))!=NULL; } } bool bOn = bNightVision && m_pCurrentActor && m_pCurrentActor==Level().CurrentViewEntity()&& IsWorking() && m_nightvision_particle.size(); ZONE_INFO_MAP_IT it; for(it = m_ZoneInfoMap.begin(); m_ZoneInfoMap.end() != it; ++it) { CCustomZone *pZone = it->first; ZONE_INFO& zone_info = it->second; if(bOn){ Fvector zero_vector; zero_vector.set(0.f,0.f,0.f); if(!zone_info.pParticle) zone_info.pParticle = CParticlesObject::Create(*m_nightvision_particle,FALSE); zone_info.pParticle->UpdateParent(pZone->XFORM(),zero_vector); if(!zone_info.pParticle->IsPlaying()) zone_info.pParticle->Play(); }else{ if(zone_info.pParticle){ zone_info.pParticle->Stop (); CParticlesObject::Destroy(zone_info.pParticle); } } } }
void CWeaponMagazined::OnZoomOut() { if (!m_bZoomMode) return; inherited::OnZoomOut(); if (GetState() == eIdle) PlayAnimIdle(); CActor* pActor = smart_cast<CActor*>(H_Parent()); HUD_SOUND::StopSound(sndSightsUp); //daemonion - iron sight audio - sights being lowered HUD_SOUND::StopSound(sndSightsDown); // bool b_hud_mode = (Level().CurrentEntity() == H_Parent()); // HUD_SOUND::PlaySound(sndSightsDown, H_Parent()->Position(), H_Parent(), b_hud_mode);//--END if(pActor) pActor->Cameras().RemoveCamEffector(eCEZoom); }