using UnityEngine; using UnityStandardAssets.ImageEffects; public class Underwater : MonoBehaviour { public float underwaterLevel = 7f; public Color fogCol; public float density; public bool audio = true; public AudioClip above; public AudioClip below; public AudioSource ammbientSource; private bool defaultFog; private Color defaultFogColor; private float defaultFogDensity; private Material noSkybox; private bool aboveWater = true; private bool belowWater; private void Start() { defaultFog = RenderSettings.fog; defaultFogColor = RenderSettings.fogColor; defaultFogDensity = RenderSettings.fogDensity; } private void Update() { if (base.transform.position.y < underwaterLevel) { RenderSettings.fog = true; RenderSettings.fogColor = fogCol; RenderSettings.fogDensity = density; GetComponent().enabled = true; if (aboveWater && audio) { GetComponent().Stop(); GetComponent().clip = below; GetComponent().volume = 1f; ammbientSource.Pause(); GetComponent().Play(); } aboveWater = false; belowWater = true; } else { RenderSettings.fog = defaultFog; RenderSettings.fogColor = defaultFogColor; RenderSettings.fogDensity = defaultFogDensity; GetComponent().enabled = false; if (belowWater && audio) { GetComponent().Stop(); GetComponent().clip = above; GetComponent().volume = 0.07f; ammbientSource.Play(); GetComponent().Play(); } belowWater = false; aboveWater = true; } } }