Skip to content
Snippets Groups Projects
RunCountdown.cs 1.27 KiB
Newer Older
Raymond Chia's avatar
Raymond Chia committed
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class RunCountdown : MonoBehaviour
{
    public GameObject protocolHandlerObject;

    ProtocolHandler protocolHandler;
    int maxCountdownValue = 3;
    int countdown = 3;
    float timer = 0;
    Text displayText;

    private void Awake()
    {
        protocolHandler = protocolHandlerObject.GetComponent<ProtocolHandler>();
        displayText = GetComponent<Text>();
        displayText.enabled = false;
        enabled = false;
    }

    // Start is called before the first frame update
    void Start()
    {
        displayText.fontSize = 32;
        displayText.color = Color.red;
    }

    // Update is called once per frame
    void Update()
    {
        timer += Time.deltaTime;
        if (timer >= 1)
        {
            countdown--;
            timer = 0;
        }

        if (countdown <= 0)
        {
            protocolHandler.runProtocol = true;
            displayText.enabled = false;
            enabled = false;
        }
        displayText.text = countdown.ToString();
    }

    private void OnDisable()
    {
        timer = 0;
        countdown = maxCountdownValue;
    }

    private void OnEnable()
    {
        displayText.enabled = true;
    }
}