51 lines
1.5 KiB
C#
51 lines
1.5 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
using TMPro;
|
|
|
|
public class UIController : MonoBehaviour
|
|
{
|
|
[SerializeField] private TMP_Text pointsTxt;
|
|
[SerializeField] private Text maxPointsTxt;
|
|
|
|
[SerializeField] private HealthBar mainHealthBar;
|
|
[SerializeField] private HealthBar[] verticalHealthBars;
|
|
|
|
[SerializeField] private Color[] hpBarColorPerDimension;
|
|
|
|
public void UpdatePointsText(float points)
|
|
{
|
|
pointsTxt.text = points.ToString("0");
|
|
}
|
|
|
|
public void SetCurrentDimension(int currentDimensionID, float currentDimensionHP, float currentDimensionMaxHP)
|
|
{
|
|
foreach (HealthBar verticalHealthBar in verticalHealthBars)
|
|
{
|
|
verticalHealthBar.SetVisible(true);
|
|
}
|
|
verticalHealthBars[currentDimensionID].SetVisible(false);
|
|
|
|
mainHealthBar.SetFillingColor(hpBarColorPerDimension[currentDimensionID]);
|
|
mainHealthBar.SetFillingAmount(currentDimensionHP / currentDimensionMaxHP);
|
|
}
|
|
|
|
public void SetDimensionHP(int currentDimensionID, int dimensionID, float hp, float maxHP)
|
|
{
|
|
float hpFillingAmount = hp / maxHP;
|
|
verticalHealthBars[dimensionID].SetFillingAmount(hpFillingAmount);
|
|
|
|
// Also change main HP bar if this is the current dimension.
|
|
if (currentDimensionID == dimensionID)
|
|
{
|
|
mainHealthBar.SetFillingAmount(hpFillingAmount);
|
|
}
|
|
}
|
|
|
|
public void UpdateMaxPointsText(float points)
|
|
{
|
|
maxPointsTxt.text = points.ToString("0");
|
|
}
|
|
}
|