Newer
Older
HardPoint-Project-Abertay-University-Unity3D / Assets / Scripts / UI / PlayerUIHandler.cs
using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEditor;
using UnityEngine;
using UnityEngine.UI;

public class PlayerUIHandler : MonoBehaviour
{
    [SerializeField] private RogueClass rogue;
    [SerializeField] private MercenaryClass mercenary;
    [SerializeField] private Canvas canvas;
    [SerializeField] private HealthSystem healthSystem;
    [SerializeField] private StatusEffects statusEffects;


    public List<TextMeshProUGUI> textMeshProUGUI;
    private Image image;
    public Image playerBar;
    private GameObject prefab;
    private PlayerController playerController;
    public GameObject fuelBar;
    public GameObject pauseMenu;

    // Start is called before the first frame update
    void Start()
    {
        prefab = Instantiate(fuelBar, canvas.GetComponent<Transform>());
        textMeshProUGUI[0] = prefab.GetComponentInChildren<TextMeshProUGUI>();
        image = prefab.GetComponent<Image>();
        playerController = GameObject.FindGameObjectWithTag("Player").GetComponentInChildren<PlayerController>();
    }

    private void Update()
    {

        if (Input.GetButtonDown("Pause"))
        {
            bool t = !pauseMenu.activeSelf;
            if (t == false)
            pauseMenu.GetComponent<PauseMenu>().Continue();
            pauseMenu.SetActive(t);
            
        }

        playerBar.fillAmount = Mathf.Clamp(healthSystem.GetHealthPercentage(), 0f, 1f);
        textMeshProUGUI[3].text = healthSystem.GetHealthPercentage() * 100 + "hp";
        if (playerController.aswitch)
        {
            textMeshProUGUI[0].gameObject.SetActive(true);
            textMeshProUGUI[2].gameObject.SetActive(false);
            image.gameObject.SetActive(true);

            image.fillAmount = Mathf.Clamp(rogue.fuel / rogue.maxFuel, 0f, 1f);
            textMeshProUGUI[0].text = ((int)rogue.fuel).ToString() + "%";
            textMeshProUGUI[1].text = "Rogue";
        }

        else
        {
            textMeshProUGUI[0].gameObject.SetActive(false);
            textMeshProUGUI[2].gameObject.SetActive(true);
            image.gameObject.SetActive(false);

            textMeshProUGUI[1].text = "Mercenary";
            textMeshProUGUI[2].text = "Recoil Shots - " + mercenary.numberOfBullets + "/2";
        }
    }
}