if a player hits the wrong answer, it will proceed to the game over scene and display its score(stopwatch-time based scoring).
if the player clicks the “try again” button, it will restart the stopwatch.
here’s my code for the stopwatch which has the text mesh:
using UnityEngine;
using System.Collections;
public class Timer : MonoBehaviour {
// Use this for initialization
private string timedis;
private float milsec;
private int sec;
private int min;
private int hou;
private TextMesh text;
public bool startime = false;
private static bool created = false;
void Start () {
text = gameObject.GetComponent<TextMesh>();
milsec = 0;
sec = 0;
min = 0;
hou = 0;
}
// Update is called once per frame
void Update () {
//Count time only whent this is true
if(startime == true)
{
//Adding milliseconds
milsec += Time.timeScale;
//Adding seconds
if(Mathf.Floor (milsec) >= 60){milsec = 0; sec = sec +1;}
//adding minutes
if(sec >= 60) {sec = 0; min = min +1;}
//Adding hours
if(min >= 60){min = 0; hou = hou +1;}
//Display time
timedis = (hou.ToString() + ":" + min.ToString() + ":" + sec.ToString () + ":" + Mathf.Floor(milsec).ToString());
text.text = "Score: " + timedis;
}
}
//Don't Destroy timer when new scene is loaded
void Awake(){
if(!created){
DontDestroyOnLoad(this.gameObject);
created = true;
}
else{
Destroy(this.gameObject);
}
}
//Destroy timer when GameOver scene is loaded
void OnLevelWasLoaded(int level) {
if (level == 52)
Destroy(this.gameObject);
}
}
the score on game over scene is still on “00:00:00:00” because i don’t know how to display it.
and when i click the try again button, the stopwatch disappeared