protected override void Awake() { base.Awake(); // constant effect, so set the duration really high and add an infinite looping sound LoopingAudioSource = new LoopingAudioSource(this, AudioSource, StartTime, StopTime); Duration = 999999999; }
protected override void OnEnable() { base.OnEnable(); // constant effect, so set the duration really high and add an infinite looping sound LoopingAudioSource = new LoopingAudioSource(this, AudioSource, StartTime, StopTime); Duration = 1; }
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, RainSoundAudioMixer); audioSourceRainMedium = new LoopingAudioSource(this, RainSoundMedium, RainSoundAudioMixer); audioSourceRainHeavy = new LoopingAudioSource(this, RainSoundHeavy, RainSoundAudioMixer); audioSourceWind = new LoopingAudioSource(this, WindSound, RainSoundAudioMixer); 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; } }
// Use this for initialization void Start() { 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) { RainFallParticleSystem.enableEmission = false; Renderer rainRenderer = RainFallParticleSystem.GetComponent <Renderer>(); rainRenderer.enabled = false; rainMaterial = new Material(rainRenderer.material); rainMaterial.EnableKeyword("SOFTPARTICLES_OFF"); rainRenderer.material = rainMaterial; } if (RainExplosionParticleSystem != null) { Renderer rainRenderer = RainExplosionParticleSystem.GetComponent <Renderer>(); rainExplosionMaterial = new Material(rainRenderer.material); rainExplosionMaterial.EnableKeyword("SOFTPARTICLES_OFF"); rainRenderer.material = rainExplosionMaterial; } if (RainMistParticleSystem != null) { RainMistParticleSystem.enableEmission = false; Renderer rainRenderer = RainMistParticleSystem.GetComponent <Renderer>(); rainRenderer.enabled = false; rainMistMaterial = new Material(rainRenderer.material); rainMistMaterial.EnableKeyword("SOFTPARTICLES_ON"); rainRenderer.material = rainMistMaterial; } }
private void CheckForRainChange() { if (lastRainValue != RainIntensity) { lastRainValue = RainIntensity; if (RainIntensity <= 0.01f) { if (audioSourceRainCurrent != null) { audioSourceRainCurrent.Stop(); audioSourceRainCurrent = null; } if (RainFallParticleSystem != null) { RainFallParticleSystem.enableEmission = false; } if (RainMistParticleSystem != null) { RainMistParticleSystem.enableEmission = false; } } 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.emissionRate = (RainFallParticleSystem.maxParticles / RainFallParticleSystem.startLifetime) * RainIntensity; } if (RainMistParticleSystem != null) { RainMistParticleSystem.enableEmission = RainMistParticleSystem.GetComponent <Renderer>().enabled = true; float emissionRate; if (RainIntensity < 0.5f) { emissionRate = 0.0f; } else { // must have 0.5 or higher rain intensity to start seeing mist emissionRate = (RainMistParticleSystem.maxParticles / RainMistParticleSystem.startLifetime) * RainIntensity * RainIntensity; } RainMistParticleSystem.emissionRate = emissionRate; } } } }
private void CheckForRainChange() { if (lastIntensityValue != Intensity) { lastIntensityValue = Intensity; if (Intensity <= 0.01f) { if (audioSourceCurrent != null) { audioSourceCurrent.Stop(); audioSourceCurrent = null; } if (FallParticleSystem != null) { ParticleSystem.EmissionModule e = FallParticleSystem.emission; e.enabled = false; FallParticleSystem.Stop(); } if (MistParticleSystem != null) { ParticleSystem.EmissionModule e = MistParticleSystem.emission; e.enabled = false; MistParticleSystem.Stop(); } } else { LoopingAudioSource newSource; if (Intensity >= 0.67f) { newSource = audioSourceHeavy; } else if (Intensity >= 0.33f) { newSource = audioSourceMedium; } else { newSource = audioSourceLight; } if (audioSourceCurrent != newSource) { if (audioSourceCurrent != null) { audioSourceCurrent.Stop(); } audioSourceCurrent = newSource; audioSourceCurrent.Play(1.0f); } if (FallParticleSystem != null) { ParticleSystem.EmissionModule e = FallParticleSystem.emission; e.enabled = FallParticleSystem.GetComponent<Renderer>().enabled = true; FallParticleSystem.Play(); ParticleSystem.MinMaxCurve rate = e.rate; rate.mode = ParticleSystemCurveMode.Constant; rate.constantMin = rate.constantMax = RainFallEmissionRate(); e.rate = rate; } if (MistParticleSystem != null) { ParticleSystem.EmissionModule e = MistParticleSystem.emission; e.enabled = MistParticleSystem.GetComponent<Renderer>().enabled = true; MistParticleSystem.Play(); float emissionRate; if (Intensity < MistThreshold) { emissionRate = 0.0f; } else { emissionRate = MistEmissionRate(); } ParticleSystem.MinMaxCurve rate = e.rate; rate.mode = ParticleSystemCurveMode.Constant; rate.constantMin = rate.constantMax = emissionRate; e.rate = rate; } } } }
protected virtual void Start() { #if DEBUG if (FallParticleSystem == null) { Debug.LogError("Fall particle is not detected"); return; } #endif if (Camera == null) { Camera = Camera.main; } audioSourceLight = new LoopingAudioSource(this, SoundLight); audioSourceMedium = new LoopingAudioSource(this, SoundMedium); audioSourceHeavy = new LoopingAudioSource(this, SoundHeavy); audioSourceWind = new LoopingAudioSource(this, WindSound); if (FallParticleSystem != null) { ParticleSystem.EmissionModule e = FallParticleSystem.emission; e.enabled = false; Renderer rainRenderer = FallParticleSystem.GetComponent<Renderer>(); rainRenderer.enabled = false; material = new Material(rainRenderer.material); rainRenderer.material = material; } if (ExplosionParticleSystem != null) { ParticleSystem.EmissionModule e = ExplosionParticleSystem.emission; e.enabled = false; Renderer rainRenderer = ExplosionParticleSystem.GetComponent<Renderer>(); explosionMaterial = new Material(rainRenderer.material); rainRenderer.material = explosionMaterial; } if (MistParticleSystem != null) { ParticleSystem.EmissionModule e = MistParticleSystem.emission; e.enabled = false; Renderer rainRenderer = MistParticleSystem.GetComponent<Renderer>(); rainRenderer.enabled = false; mistMaterial = new Material(rainRenderer.material); rainRenderer.material = mistMaterial; } }
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.7f) { newSource = audioSourceRainHeavy; } else if (RainIntensity >= 0.3f) { newSource = audioSourceRainMedium; } else { newSource = audioSourceRainLight; } if (audioSourceRainCurrent != newSource) { if (audioSourceRainCurrent != null) { audioSourceRainCurrent.Stop(); } audioSourceRainCurrent = newSource; audioSourceRainCurrent.Play(0.6f); } 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; } } } }
// Use this for initialization void Start() { 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) { RainFallParticleSystem.enableEmission = false; Renderer rainRenderer = RainFallParticleSystem.GetComponent<Renderer>(); rainRenderer.enabled = false; rainMaterial = new Material(rainRenderer.material); rainMaterial.EnableKeyword("SOFTPARTICLES_OFF"); rainRenderer.material = rainMaterial; } if (RainExplosionParticleSystem != null) { Renderer rainRenderer = RainExplosionParticleSystem.GetComponent<Renderer>(); rainExplosionMaterial = new Material(rainRenderer.material); rainExplosionMaterial.EnableKeyword("SOFTPARTICLES_OFF"); rainRenderer.material = rainExplosionMaterial; } if (RainMistParticleSystem != null) { RainMistParticleSystem.enableEmission = false; Renderer rainRenderer = RainMistParticleSystem.GetComponent<Renderer>(); rainRenderer.enabled = false; rainMistMaterial = new Material(rainRenderer.material); rainMistMaterial.EnableKeyword("SOFTPARTICLES_ON"); rainRenderer.material = rainMistMaterial; } }
private void CheckForRainChange() { if (lastRainValue != RainIntensity) { lastRainValue = RainIntensity; if (RainIntensity <= 0.01f) { if (audioSourceRainCurrent != null) { audioSourceRainCurrent.Stop(); audioSourceRainCurrent = null; } if (RainFallParticleSystem != null) { RainFallParticleSystem.enableEmission = false; } if (RainMistParticleSystem != null) { RainMistParticleSystem.enableEmission = false; } } 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.emissionRate = (RainFallParticleSystem.maxParticles / RainFallParticleSystem.startLifetime) * RainIntensity; } if (RainMistParticleSystem != null) { RainMistParticleSystem.enableEmission = RainMistParticleSystem.GetComponent<Renderer>().enabled = true; float emissionRate; if (RainIntensity < 0.5f) { emissionRate = 0.0f; } else { // must have 0.5 or higher rain intensity to start seeing mist emissionRate = (RainMistParticleSystem.maxParticles / RainMistParticleSystem.startLifetime) * RainIntensity * RainIntensity; } RainMistParticleSystem.emissionRate = emissionRate; } } } }