- Home /
I need some help modifying a script
Hello. I got this timer script from someone, but I am wondering how would I make it (the countdown timer) stop for 10 seconds and then start up again? Thanks
private var startTime; private var restSeconds : int; private var roundedRestSeconds : int; private var displaySeconds : int; private var displayMinutes : int; static var countDownSeconds : int = 90;
function Awake() {startTime = Time.time;} function OnGUI() {GUI.skin = mySkin; var guiTime = Time.time - startTime; restSeconds = countDownSeconds - (guiTime); roundedRestSeconds = Mathf.CeilToInt(restSeconds); displaySeconds = roundedRestSeconds % 60; displayMinutes = roundedRestSeconds / 60; text = String.Format ("{0:00}:{1:00}", displayMinutes, displaySeconds); GUI.Label (Rect (Screen.width /2.17, Screen.height /2.2, 100, 100), text); }
Answer by DoubleDouble · Apr 12, 2011 at 05:19 AM
Would adding something similar to a second timer be acceptable?
var paused = false; var pausedTime = 0;
function OnGUI() {GUI.skin = mySkin; if (!paused) { //If Not Paused, keep going var oldGuiTime = Time.time - startTime; //need to keep track of time w/o pause var guiTime = oldGuiTime + pausedTime //this is the new var used restSeconds = countDownSeconds - (guiTime); roundedRestSeconds = Mathf.CeilToInt(restSeconds); displaySeconds = roundedRestSeconds % 60; displayMinutes = roundedRestSeconds / 60; text = String.Format ("{0:00}:{1:00}", displayMinutes, displaySeconds); } else { pausedTime += Time.time - oldGuiTime; oldGuiTime = Time.time - startTime; //keep track of how much time is passing if (pausedTime % 10 == 0) { paused = false; } //after 10 secs, unpause } GUI.Label (Rect (Screen.width /2.17, Screen.height /2.2, 100, 100), text); }
Answer by Jean-Fabre · Apr 12, 2011 at 06:34 AM
Hi,
I would actually simply use
Invoke("StartAgain", 10);
It simply call "StartAgain" function in 10 seconds.
You would use it in the same function or block that stopped the timer ( where you actually set pause to true) and the StartAgain function would set pause back to false.
Bye,
Jean
Your answer
![](https://koobas.hobune.stream/wayback/20220613122212im_/https://answers.unity.com/themes/thub/images/avi.jpg)