// Update is called once per frame void Update() { breathBar.SetActive(drowning); Vector3 pos = transform.position; pos.y += riseSpeed * Time.deltaTime * (0.5f + 0.5f * Mathf.Sin(Time.time * Mathf.PI * 2)); transform.position = pos; if (drowning) { Vector3 scal = breathPivot.transform.localScale; scal.x = 4 - 4 * (Time.time - drownStart) / drownTime; breathPivot.transform.localScale = scal; if (Time.time > drownStart + drownTime) { CharController c = GameObject.FindGameObjectWithTag("Player").GetComponent <CharController>(); GetComponent <AudioSource>().Play(); GameObject.Find("_GM").GetComponent <AudioSource>().Stop(); c.Invoke("Restart", 2); drowning = false; } } }