How to pause stopwatch when player enters game over scene?
Hi I'm making a 2D platformer and I want to stop a stopwatch and still display the stopped time when the player loads into the scene "game over". The stopwatch is a text on a canvas that has minutes:seconds:milliseconds. The canvas is originally from my first level and isn't destroyed on load when it passes on to the next scene.
This is the script for the timer that I have attached to the timerText using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using UnityEngine.SceneManagement;
public class Timer : MonoBehaviour {
public Text timerText;
public float minutes = 0;
public float seconds = 0;
public float miliseconds = 0;
public bool isGameOver = false;
// Use this for initialization
void Start()
{
}
// Update is called once per frame
void Update()
{
UpdateTimerUI();
}
//call this on update
public void UpdateTimerUI()
{
miliseconds+=Time.deltaTime * 1000;
if (miliseconds >= 1000)
{
seconds++;
miliseconds = 0;
}
else if (seconds >= 60)
{
minutes++;
seconds = 0;
}
//Debug.Log(string.Format("{0}:{1}:{2}", minutes, seconds, (int)miliseconds));
timerText.text = string.Format("{0}:{1}:{2}", minutes, seconds, (int)miliseconds);
}
////pause timer when player enters game over scene
//public void PauseTimer()
//{
// miliseconds = 0;
//}
}
And this is the script attached to a portal that connects the final level to the game over scene using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; public class GameOver : MonoBehaviour {
void OnTriggerEnter2D(Collider2D other)
{
if (other.name == "Player")
{
SceneManager.LoadScene("GameOver");
Timer t = new Timer();
t.miliseconds = 0;
}
}
}
Any help here would be greatly appreciated!
Your answer
Follow this Question
Related Questions
is it possible to reset Time.time 1 Answer
Help With Timer Before May 10th PLEASE!!! 0 Answers
Adding a timer on my spawn script 1 Answer