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