Exemple #1
0
        private void UpdateWind()
        {
            if (EnableWind && WindZone != null && WindSpeedRange.y > 1.0f)
            {
                WindZone.gameObject.SetActive(true);
                if (FollowCamera)
                {
                    WindZone.transform.position = Camera.transform.position;
                }
                if (!Camera.orthographic)
                {
                    WindZone.transform.Translate(0.0f, WindZone.radius, 0.0f);
                }
                if (nextWindTime < Time.time)
                {
                    WindZone.windMain       = UnityEngine.Random.Range(WindSpeedRange.x, WindSpeedRange.y);
                    WindZone.windTurbulence = UnityEngine.Random.Range(WindSpeedRange.x, WindSpeedRange.y);
                    if (Camera.orthographic)
                    {
                        int val = UnityEngine.Random.Range(0, 2);
                        WindZone.transform.rotation = Quaternion.Euler(0.0f, (val == 0 ? 90.0f : -90.0f), 0.0f);
                    }
                    else
                    {
                        WindZone.transform.rotation = Quaternion.Euler(UnityEngine.Random.Range(-30.0f, 30.0f), UnityEngine.Random.Range(0.0f, 360.0f), 0.0f);
                    }
                    nextWindTime = Time.time + UnityEngine.Random.Range(WindChangeInterval.x, WindChangeInterval.y);
                    if (audioSourceWind != null)
                    {
                        audioSourceWind.Play((WindZone.windMain / WindSpeedRange.z) * WindSoundVolumeModifier);
                    }
                }
            }
            else
            {
                if (WindZone != null)
                {
                    WindZone.gameObject.SetActive(false);
                }

                if (audioSourceWind != null)
                {
                    audioSourceWind.Stop();
                }
            }
            if (audioSourceWind != null)
            {
                audioSourceWind.Update();
            }
        }
Exemple #2
0
        private void UpdateWind()
        {
            if (EnableWind && WindZone != null && WindSpeedRange.y > 1.0f)
            {
                audioSourceWind.Play((WindZone.windMain / WindSpeedRange.z) * WindSoundVolumeModifier);
            }
            else
            {
                if (WindZone != null)
                {
                    WindZone.gameObject.SetActive(false);
                }
                audioSourceWind.Stop();
            }

            audioSourceWind.Update();
        }
 private void CheckForRainChange()
 {
     if (lastRainIntensityValue != RainIntensity)
     {
         lastRainIntensityValue = RainIntensity;
         if (RainIntensity <= 0.01f)
         {
             if (audioSourceRainCurrent != null)
             {
                 audioSourceRainCurrent.Stop();
                 audioSourceRainCurrent = null;
             }
             if (RainFallParticleSystem != null)
             {
                 ParticleSystem.EmissionModule e = RainFallParticleSystem.emission;
                 e.enabled = false;
                 RainFallParticleSystem.Stop();
             }
             if (RainMistParticleSystem != null)
             {
                 ParticleSystem.EmissionModule e = RainMistParticleSystem.emission;
                 e.enabled = false;
                 RainMistParticleSystem.Stop();
             }
         }
         else
         {
             LoopingAudioSource newSource;
             if (RainIntensity >= 0.67f)
             {
                 newSource = audioSourceRainHeavy;
             }
             else if (RainIntensity >= 0.33f)
             {
                 newSource = audioSourceRainMedium;
             }
             else
             {
                 newSource = audioSourceRainLight;
             }
             if (audioSourceRainCurrent != newSource)
             {
                 if (audioSourceRainCurrent != null)
                 {
                     audioSourceRainCurrent.Stop();
                 }
                 audioSourceRainCurrent = newSource;
                 audioSourceRainCurrent.Play(1.0f);
             }
             if (RainFallParticleSystem != null)
             {
                 ParticleSystem.EmissionModule e = RainFallParticleSystem.emission;
                 e.enabled = RainFallParticleSystem.GetComponent <Renderer>().enabled = true;
                 if (!RainFallParticleSystem.isPlaying)
                 {
                     RainFallParticleSystem.Play();
                 }
                 ParticleSystem.MinMaxCurve rate = e.rateOverTime;
                 rate.mode        = ParticleSystemCurveMode.Constant;
                 rate.constantMin = rate.constantMax = RainFallEmissionRate();
                 e.rateOverTime   = rate;
             }
             if (RainMistParticleSystem != null)
             {
                 ParticleSystem.EmissionModule e = RainMistParticleSystem.emission;
                 e.enabled = RainMistParticleSystem.GetComponent <Renderer>().enabled = true;
                 if (!RainMistParticleSystem.isPlaying)
                 {
                     RainMistParticleSystem.Play();
                 }
                 float emissionRate;
                 if (RainIntensity < RainMistThreshold)
                 {
                     emissionRate = 0.0f;
                 }
                 else
                 {
                     // must have RainMistThreshold or higher rain intensity to start seeing mist
                     emissionRate = MistEmissionRate();
                 }
                 ParticleSystem.MinMaxCurve rate = e.rateOverTime;
                 rate.mode        = ParticleSystemCurveMode.Constant;
                 rate.constantMin = rate.constantMax = emissionRate;
                 e.rateOverTime   = rate;
             }
         }
     }
 }
Exemple #4
0
 private void CheckForRainChange()
 {
     if (lastRainIntensityValue != RainIntensity)
     {
         lastRainIntensityValue = RainIntensity;
         if (RainIntensity <= 0.01f)
         {
             if (audioSourceRainCurrent != null)
             {
                 audioSourceRainCurrent.Stop();
                 audioSourceRainCurrent = null;
             }
             if (RainFallParticleSystem != null)
             {
                 ParticleSystem.EmissionModule e = RainFallParticleSystem.emission;
                 e.enabled = false;
                 RainFallParticleSystem.Stop();
             }
             if (RainMistParticleSystem != null)
             {
                 ParticleSystem.EmissionModule e = RainMistParticleSystem.emission;
                 e.enabled = false;
                 RainMistParticleSystem.Stop();
             }
         }
         else
         {
             LoopingAudioSource newSource;
             if (RainIntensity >= 0.67f)
             {
                 newSource = audioSourceRainHeavy;
             }
             else if (RainIntensity >= 0.33f)
             {
                 newSource = audioSourceRainMedium;
             }
             else
             {
                 newSource = audioSourceRainLight;
             }
             if (audioSourceRainCurrent != newSource)
             {
                 if (audioSourceRainCurrent != null)
                 {
                     audioSourceRainCurrent.Stop();
                 }
                 audioSourceRainCurrent = newSource;
                 audioSourceRainCurrent.Play(1.0f);
             }
             if (RainFallParticleSystem != null)
             {
                 ParticleSystem.EmissionModule e = RainFallParticleSystem.emission;
                 e.enabled = RainFallParticleSystem.GetComponent<Renderer>().enabled = true;
                 RainFallParticleSystem.Play();
                 ParticleSystem.MinMaxCurve rate = e.rate;
                 rate.mode = ParticleSystemCurveMode.Constant;
                 rate.constantMin = rate.constantMax = RainFallEmissionRate();
                 e.rate = rate;
             }
             if (RainMistParticleSystem != null)
             {
                 ParticleSystem.EmissionModule e = RainMistParticleSystem.emission;
                 e.enabled = RainMistParticleSystem.GetComponent<Renderer>().enabled = true;
                 RainMistParticleSystem.Play();
                 float emissionRate;
                 if (RainIntensity < RainMistThreshold)
                 {
                     emissionRate = 0.0f;
                 }
                 else
                 {
                     // must have RainMistThreshold or higher rain intensity to start seeing mist
                     emissionRate = MistEmissionRate();
                 }
                 ParticleSystem.MinMaxCurve rate = e.rate;
                 rate.mode = ParticleSystemCurveMode.Constant;
                 rate.constantMin = rate.constantMax = emissionRate;
                 e.rate = rate;
             }
         }
     }
 }
Exemple #5
0
 private void CheckForRainChange()
 {
     if (lastRainIntensityValue != RainIntensity)
     {
         lastRainIntensityValue = RainIntensity;
         if (RainIntensity <= 0.01f)
         {
             if (audioSourceRainCurrent != null)
             {
                 audioSourceRainCurrent.Stop();
                 audioSourceRainCurrent = null;
             }
             if (RainFallParticleSystem != null)
             {
                 RainFallParticleSystem.enableEmission = false;
                 RainFallParticleSystem.Stop();
             }
             if (RainMistParticleSystem != null)
             {
                 RainMistParticleSystem.enableEmission = false;
                 RainMistParticleSystem.Stop();
             }
         }
         else
         {
             LoopingAudioSource newSource;
             if (RainIntensity >= 0.67f)
             {
                 newSource = audioSourceRainHeavy;
             }
             else if (RainIntensity >= 0.33f)
             {
                 newSource = audioSourceRainMedium;
             }
             else
             {
                 newSource = audioSourceRainLight;
             }
             if (audioSourceRainCurrent != newSource)
             {
                 if (audioSourceRainCurrent != null)
                 {
                     audioSourceRainCurrent.Stop();
                 }
                 audioSourceRainCurrent = newSource;
                 audioSourceRainCurrent.Play(1.0f);
             }
             if (RainFallParticleSystem != null)
             {
                 RainFallParticleSystem.enableEmission = RainFallParticleSystem.GetComponent <Renderer>().enabled = true;
                 RainFallParticleSystem.Play();
                 RainFallParticleSystem.emissionRate = RainFallEmissionRate();
             }
             if (RainMistParticleSystem != null)
             {
                 RainMistParticleSystem.enableEmission = RainMistParticleSystem.GetComponent <Renderer>().enabled = true;
                 RainMistParticleSystem.Play();
                 float emissionRate;
                 if (RainIntensity < RainMistThreshold)
                 {
                     emissionRate = 0.0f;
                 }
                 else
                 {
                     // must have RainMistThreshold or higher rain intensity to start seeing mist
                     emissionRate = MistEmissionRate();
                 }
                 RainMistParticleSystem.emissionRate = emissionRate;
             }
         }
     }
 }