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