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; } }
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; } } } }
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; } } } }
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; } } } }
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); }