using TMPro;
using UnityEngine;
using UnityEngine.UI;
///
/// HUD element which displays a ships remaining boost capacity.
///
public class BoostCapacityUI : MonoBehaviour
{
[SerializeField] private Image fillImage;
[SerializeField] private Sprite fillSpriteGood;
[SerializeField] private Sprite fillSpriteWarn;
[SerializeField] private TextMeshProUGUI hint;
private float minBoostRatio = 0.5f;
///
/// Ratio of capacity to max capacity under which the
/// boost capacity is considered critically low.
///
///
public void SetMinBoostRatio(float minBoostRatio)
{
this.minBoostRatio = minBoostRatio;
}
public void SetPlayerName(Player p)
{
hint.SetText($"{p.playerName}\n{p.character.ShipName}");
}
public void SetIsOut(Player p)
{
hint.SetText($"{p.playerName}\nOUT!");
UpdateFill(0);
}
public void SetIsIn(Player p)
{
SetPlayerName(p);
//UpdateFill(1);
}
///
/// Updates the color and fill of the capacity meter.
///
/// Fill percentage
public void UpdateFill(float fill)
{
fillImage.fillAmount = fill;
if (fill <= minBoostRatio)
{
fillImage.sprite = fillSpriteWarn;
}
else
{
fillImage.sprite = fillSpriteGood;
}
}
}