using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using TMPro;
|
|
using NaughtyAttributes;
|
|
using Variables;
|
|
|
|
public class TimerController : MonoBehaviour
|
|
{
|
|
|
|
[SerializeField,Header("References")]
|
|
private Reference<float> m_time;
|
|
|
|
[SerializeField]
|
|
private TextMeshProUGUI m_text;
|
|
|
|
[SerializeField, BoxGroup("Settings")]
|
|
private Color m_lowTimeColor = Color.red;
|
|
|
|
[SerializeField, BoxGroup("Settings")]
|
|
private Color m_defaultColor;
|
|
|
|
[SerializeField, BoxGroup("Settings")]
|
|
private float m_lowTimeAmount = 3;
|
|
|
|
|
|
|
|
|
|
private void Awake()
|
|
{
|
|
OnTimeChange(m_time.Value);
|
|
}
|
|
|
|
|
|
private void OnEnable()
|
|
{
|
|
m_time.OnValueChanged += OnTimeChange;
|
|
}
|
|
|
|
private void OnDisable()
|
|
{
|
|
m_time.OnValueChanged -= OnTimeChange;
|
|
}
|
|
|
|
private void OnTimeChange(float value)
|
|
{
|
|
|
|
m_text.text = value.ToString("0");
|
|
|
|
if (value <= m_lowTimeAmount)
|
|
{
|
|
m_text.color = m_lowTimeColor;
|
|
}
|
|
else
|
|
{
|
|
m_text.color = m_defaultColor;
|
|
}
|
|
}
|
|
|
|
|
|
}
|