Exemple #1
0
        protected virtual void Start()
        {

#if DEBUG

            if (RainFallParticleSystem == null)
            {
                Debug.LogError("Rain fall particle system must be set to a particle system");
                return;
            }

#endif

            if (Camera == null)
            {
                Camera = Camera.main;
            }

            audioSourceRainLight = new LoopingAudioSource(this, RainSoundLight);
            audioSourceRainMedium = new LoopingAudioSource(this, RainSoundMedium);
            audioSourceRainHeavy = new LoopingAudioSource(this, RainSoundHeavy);
            audioSourceWind = new LoopingAudioSource(this, WindSound);

            if (RainFallParticleSystem != null)
            {
                ParticleSystem.EmissionModule e = RainFallParticleSystem.emission;
                e.enabled = false;
                Renderer rainRenderer = RainFallParticleSystem.GetComponent<Renderer>();
                rainRenderer.enabled = false;
                rainMaterial = new Material(rainRenderer.material);
                rainMaterial.EnableKeyword("SOFTPARTICLES_OFF");
                rainRenderer.material = rainMaterial;
            }
            if (RainExplosionParticleSystem != null)
            {
                ParticleSystem.EmissionModule e = RainExplosionParticleSystem.emission;
                e.enabled = false;
                Renderer rainRenderer = RainExplosionParticleSystem.GetComponent<Renderer>();
                rainExplosionMaterial = new Material(rainRenderer.material);
                rainExplosionMaterial.EnableKeyword("SOFTPARTICLES_OFF");
                rainRenderer.material = rainExplosionMaterial;
            }
            if (RainMistParticleSystem != null)
            {
                ParticleSystem.EmissionModule e = RainMistParticleSystem.emission;
                e.enabled = false;
                Renderer rainRenderer = RainMistParticleSystem.GetComponent<Renderer>();
                rainRenderer.enabled = false;
                rainMistMaterial = new Material(rainRenderer.material);
                if (UseRainMistSoftParticles)
                {
                    rainMistMaterial.EnableKeyword("SOFTPARTICLES_ON");
                }
                else
                {
                    rainMistMaterial.EnableKeyword("SOFTPARTICLES_OFF");
                }
                rainRenderer.material = rainMistMaterial;
            }
        }
Exemple #2
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;
                 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 #3
0
        protected virtual void Start()
        {

#if DEBUG

            if (RainFallParticleSystem == null)
            {
                Debug.LogError("Rain fall particle system must be set to a particle system");
                return;
            }

#endif

            if (Camera == null)
            {
                Camera = Camera.main;
            }

            audioSourceRainLight = new LoopingAudioSource(this, RainSoundLight);
            audioSourceRainMedium = new LoopingAudioSource(this, RainSoundMedium);
            audioSourceRainHeavy = new LoopingAudioSource(this, RainSoundHeavy);
            audioSourceWind = new LoopingAudioSource(this, WindSound);

            if (RainFallParticleSystem != null)
            {
                ParticleSystem.EmissionModule e = RainFallParticleSystem.emission;
                e.enabled = false;
                Renderer rainRenderer = RainFallParticleSystem.GetComponent<Renderer>();
                rainRenderer.enabled = false;
                rainMaterial = new Material(rainRenderer.material);
                rainMaterial.EnableKeyword("SOFTPARTICLES_OFF");
                rainRenderer.material = rainMaterial;
            }
            if (RainExplosionParticleSystem != null)
            {
                ParticleSystem.EmissionModule e = RainExplosionParticleSystem.emission;
                e.enabled = false;
                Renderer rainRenderer = RainExplosionParticleSystem.GetComponent<Renderer>();
                rainExplosionMaterial = new Material(rainRenderer.material);
                rainExplosionMaterial.EnableKeyword("SOFTPARTICLES_OFF");
                rainRenderer.material = rainExplosionMaterial;
            }
            if (RainMistParticleSystem != null)
            {
                ParticleSystem.EmissionModule e = RainMistParticleSystem.emission;
                e.enabled = false;
                Renderer rainRenderer = RainMistParticleSystem.GetComponent<Renderer>();
                rainRenderer.enabled = false;
                rainMistMaterial = new Material(rainRenderer.material);
                if (UseRainMistSoftParticles)
                {
                    rainMistMaterial.EnableKeyword("SOFTPARTICLES_ON");
                }
                else
                {
                    rainMistMaterial.EnableKeyword("SOFTPARTICLES_OFF");
                }
                rainRenderer.material = rainMistMaterial;
            }
        }
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;
             }
         }
     }
 }
Exemple #6
0
        protected virtual void Start()
        {
#if DEBUG
            if (RainFallParticleSystem == null)
            {
                Debug.LogError("Rain fall particle system must be set to a particle system");
                return;
            }
#endif

            if (Camera == null)
            {
                Camera = Camera.main;
            }

            audioSourceRainLight = new LoopingAudioSource(this, RainSoundLight);
            audioSourceRainLight.AudioSource.outputAudioMixerGroup = mixerGroup;

            audioSourceRainMedium = new LoopingAudioSource(this, RainSoundMedium);
            audioSourceRainMedium.AudioSource.outputAudioMixerGroup = mixerGroup;

            audioSourceRainHeavy = new LoopingAudioSource(this, RainSoundHeavy);
            audioSourceRainHeavy.AudioSource.outputAudioMixerGroup = mixerGroup;

            audioSourceWind = new LoopingAudioSource(this, WindSound);
            audioSourceWind.AudioSource.outputAudioMixerGroup = mixerGroup;


            if (RainFallParticleSystem != null)
            {
                ParticleSystem.EmissionModule e = RainFallParticleSystem.emission;
                e.enabled = false;
                Renderer rainRenderer = RainFallParticleSystem.GetComponent <Renderer>();
                rainRenderer.enabled = false;
                rainMaterial         = new Material(rainRenderer.material);
                rainMaterial.EnableKeyword("SOFTPARTICLES_OFF");
                rainRenderer.material = rainMaterial;
            }
            if (RainExplosionParticleSystem != null)
            {
                ParticleSystem.EmissionModule e = RainExplosionParticleSystem.emission;
                e.enabled = false;
                Renderer rainRenderer = RainExplosionParticleSystem.GetComponent <Renderer>();
                rainExplosionMaterial = new Material(rainRenderer.material);
                rainExplosionMaterial.EnableKeyword("SOFTPARTICLES_OFF");
                rainRenderer.material = rainExplosionMaterial;
            }
            if (RainMistParticleSystem != null)
            {
                ParticleSystem.EmissionModule e = RainMistParticleSystem.emission;
                e.enabled = false;
                Renderer rainRenderer = RainMistParticleSystem.GetComponent <Renderer>();
                rainRenderer.enabled = false;
                rainMistMaterial     = new Material(rainRenderer.material);
                if (UseRainMistSoftParticles)
                {
                    rainMistMaterial.EnableKeyword("SOFTPARTICLES_ON");
                }
                else
                {
                    rainMistMaterial.EnableKeyword("SOFTPARTICLES_OFF");
                }
                rainRenderer.material = rainMistMaterial;
            }

            if (StaticVars.currentDifficulty == StaticVars.Difficulty.Easy)
            {
                RainIntensity = .3f;
            }
            else if (StaticVars.currentDifficulty == StaticVars.Difficulty.Normal)
            {
                RainIntensity = .6f;
            }
            else if (StaticVars.currentDifficulty == StaticVars.Difficulty.Unfair)
            {
                RainIntensity = .9f;
            }
        }
 private void CheckForRainChange()
 {
     if ((double)this.lastRainIntensityValue == (double)this.RainIntensity)
     {
         return;
     }
     this.lastRainIntensityValue = this.RainIntensity;
     if ((double)this.RainIntensity <= 0.00999999977648258)
     {
         if (this.audioSourceRainCurrent != null)
         {
             this.audioSourceRainCurrent.Stop();
             this.audioSourceRainCurrent = (LoopingAudioSource)null;
         }
         if (Object.op_Inequality((Object)this.RainFallParticleSystem, (Object)null))
         {
             ParticleSystem.EmissionModule emission = this.RainFallParticleSystem.get_emission();
             ((ParticleSystem.EmissionModule) ref emission).set_enabled(false);
             this.RainFallParticleSystem.Stop();
         }
         if (!Object.op_Inequality((Object)this.RainMistParticleSystem, (Object)null))
         {
             return;
         }
         ParticleSystem.EmissionModule emission1 = this.RainMistParticleSystem.get_emission();
         ((ParticleSystem.EmissionModule) ref emission1).set_enabled(false);
         this.RainMistParticleSystem.Stop();
     }
     else
     {
         LoopingAudioSource loopingAudioSource = (double)this.RainIntensity < 0.670000016689301 ? ((double)this.RainIntensity < 0.330000013113022 ? this.audioSourceRainLight : this.audioSourceRainMedium) : this.audioSourceRainHeavy;
         if (this.audioSourceRainCurrent != loopingAudioSource)
         {
             if (this.audioSourceRainCurrent != null)
             {
                 this.audioSourceRainCurrent.Stop();
             }
             this.audioSourceRainCurrent = loopingAudioSource;
             this.audioSourceRainCurrent.Play(1f);
         }
         if (Object.op_Inequality((Object)this.RainFallParticleSystem, (Object)null))
         {
             ParticleSystem.EmissionModule     emission = this.RainFallParticleSystem.get_emission();
             ref ParticleSystem.EmissionModule local1   = ref emission;
             bool flag = true;
             ((Renderer)((Component)this.RainFallParticleSystem).GetComponent <Renderer>()).set_enabled(flag);
             int num1 = flag ? 1 : 0;
             ((ParticleSystem.EmissionModule) ref local1).set_enabled(num1 != 0);
             if (!this.RainFallParticleSystem.get_isPlaying())
             {
                 this.RainFallParticleSystem.Play();
             }
             ParticleSystem.MinMaxCurve rateOverTime = ((ParticleSystem.EmissionModule) ref emission).get_rateOverTime();
             ((ParticleSystem.MinMaxCurve) ref rateOverTime).set_mode((ParticleSystemCurveMode)0);
             ref ParticleSystem.MinMaxCurve local2 = ref rateOverTime;
             float num2 = this.RainFallEmissionRate();
             ((ParticleSystem.MinMaxCurve) ref rateOverTime).set_constantMax(num2);
             double num3 = (double)num2;
             ((ParticleSystem.MinMaxCurve) ref local2).set_constantMin((float)num3);
             ((ParticleSystem.EmissionModule) ref emission).set_rateOverTime(rateOverTime);
         }