Files
SimUL/Assets/Scripts/UIElements/TopBarUI.cs
T
2023-12-06 14:55:20 +02:00

54 lines
1.3 KiB
C#

using Assets.Scripts.Interfaces;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
public class TopBarUI : MonoBehaviour
{
[SerializeField]
private TextMeshProUGUI _timeText;
[SerializeField]
private TextMeshProUGUI _moneyText;
[SerializeField]
private TextMeshProUGUI _locationText;
[SerializeField]
public Slider _energy;
[SerializeField]
public Slider _food;
// Start is called before the first frame update
private void Start()
{
TimeManager.Instance.OnMinuteChanged += UpdateTime;
}
private void OnDisable()
{
TimeManager.Instance.OnMinuteChanged -= UpdateTime;
}
// Update is called once per frame
void Update()
{
_moneyText.text = $"${(Player.Instance.Stats[StatsId.Money] as INumericStat).Value}";
_locationText.text= $"{(Player.Instance.Stats[StatsId.LocationName] as IStringStat).Value}";
}
private void UpdateTime()
{
if (_timeText != null)
{
_timeText.text = $"{TimeManager.CurrentTime.GetDayName()} {TimeManager.CurrentTime.ToString(@"hh\:mm")} day ({TimeManager.CurrentTime.Days})";
}
_energy.value = (Player.Instance.Stats[StatsId.Energy] as INumericStat).Value;
_food.value = (Player.Instance.Stats[StatsId.Food] as INumericStat).Value;
}
}