using System.Collections; using System.Collections.Generic; using UnityEngine; using TMPro; using UnityEngine.SceneManagement; public class UIManager : MonoBehaviour { public TextMeshProUGUI Health; public static UIManager instance; public CharacterController player; public GameObject GameOverPanel; public CameraFollow cameraFollow; bool isGameOver = false; float Score; public TextMeshProUGUI ScoreText; private void Awake() { instance = this; } private void Start() { UpdateHealth(); StartCoroutine(ScoreUpdateRoutine()); } IEnumerator ScoreUpdateRoutine() { while(!isGameOver) { Score += Time.fixedDeltaTime; ScoreText.text = Mathf.FloorToInt(Score).ToString(); yield return new WaitForSeconds(Time.fixedDeltaTime); } } public void UpdateHealth() { if (!isGameOver) { if (player.Health <= 0) { Health.text = "Health: 0"; GameOver(); } else { Health.text = "Health: " + player.Health.ToString(); } } } void GameOver() { isGameOver = true; Destroy(player.SpineHingeJoint); GameOverPanel.SetActive(true); cameraFollow.isPlaying = false; } public void Restart() { SceneManager.LoadScene(SceneManager.GetActiveScene().name); } }