UnityGameProjectsCode / Rise2Point0Game / SessionTimer.cs
SessionTimer.cs
Raw
using UnityEngine;

public class SessionTimer : MonoBehaviour
{
    //track time since the start of a session
    //stop tracking when the player is below starting height or time has stopped

    private bool sessionActive;
    private bool pauseTimer;
    private float sessionTime;
    private ScoreManager scoreMgr;
    private DeathWall dWall;

    private void Start()
    {
        scoreMgr = GetComponent<ScoreManager>();
        dWall = ObjectManager.GetObject(2).GetComponent<DeathWall>();
    }

    private void Update()
    {
        if (!sessionActive)
        {
            if (scoreMgr.GetHighestHeight() >= dWall.movementThreshold)
            {
                sessionActive = true;
            }
        }
        else
        {
            if (!pauseTimer)
                sessionTime += Time.deltaTime;
        }
    }

    public void PauseTimer()
    {
        pauseTimer = true;
    }

    public void UnPauseTimer()
    {
        pauseTimer = false;
    }

    public void ResetTimer()
    {
        sessionActive = false;
        sessionTime = 0.0f;
    }

    public float GetSessionTime()
    {
        return sessionTime;
    }
}