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