- Home /
Question by
GodOfTheFools · Oct 29, 2012 at 03:17 PM ·
guitimeplayerprefsscore
GUITime and Score issue.
Hiya Guys, I'm having this issue with a score component I've made. It's meant to take the GUITime and from that it's meant to work out the score. It works but the GUITime always registers as "8" even if the value should be much higher or lower. Scripts are below, really hoping y'all can help. Deadline is in two days D:
Countdown Script:
var startTime : int;
private var restSeconds : int;
private var roundedRestSeconds : int;
private var displaySeconds : int;
private var displayMinutes : int;
var countDownSeconds : int;
var Text;
var customGuiStyle : GUIStyle;
var GUITime :int;
function Awake()
{
startTime = Time.time;
}
function OnGUI()
{
//Debug.Log("Real GUITime is "+GUITime);
GUITime = Time.time - startTime;
restSeconds = countDownSeconds - GUITime;
Debug.Log ("GUITime is: " + GUITime);
if (restSeconds == 0)
{
Application.LoadLevel(2);
}
//display the timer
roundedRestSeconds = Mathf.CeilToInt(restSeconds);
displaySeconds = roundedRestSeconds % 60;
displayMinutes = roundedRestSeconds / 60;
Text = String.Format ("{0:00}:{1:00}", displayMinutes, displaySeconds);
GUI.Label (Rect (Screen.width * (2f/6.55f),Screen.height * (0.1f/6.3f),Screen.width * (4.8f/6.55f), Screen.height * (0.85f/6.3f)), "Time Remaining: " +Text, customGuiStyle);
}
function HandOverGUITime(){
//Debug.Log("inside HandOverGUITime()");
return GUITime;
}
Score Script:
function CheckValueOfScore()
{
//Debug.Log("Score equals "+score);
if (score > 299)
{
waterMarkObject = GameObject.FindWithTag("GUITime");
countdownScript = waterMarkObject.GetComponent(Countdown);
currentGUITime = countdownScript.HandOverGUITime();
PlayerPrefs.SetInt("GUITime", currentGUITime);
yield WaitForSeconds (3);
Application.LoadLevel(3);
}
}
Score_Component Script:
var customGuiStyle : GUIStyle;
var currentGUITime = PlayerPrefs.GetInt("currentGUITime");
Debug.Log ("CurrentGUITime is: " + currentGUITime);
var Score = (60 - PlayerPrefs.GetInt("currentGUITime")) * 10 + 300;
function OnGUI(){
//var currentGUITime = PlayerPrefs.GetInt("currentGUITime");
GUI.Label (Rect (Screen.width * (3f/6.55f),Screen.height * (3f/6.3f),Screen.width * (4.8f/6.55f), Screen.height * (0.85f/6.3f)), "Your total score was: " +Score, customGuiStyle);
}
if (Score < 500){
Debug.Log ("Score < 500");
GUI.Label (Rect (Screen.width * (3f/6.55f),Screen.height * (3.5f/6.3f),Screen.width * (4.8f/6.55f), Screen.height * (0.85f/6.3f)), "You were slow comrade, you should work on your marksmanship!", customGuiStyle);
}
Debug.Log ("Score >= 500");
if (Score <=500){
GUI.Label (Rect (Screen.width * (3f/6.55f),Screen.height * (3.5f/6.3f),Screen.width * (4.8f/6.55f), Screen.height * (0.85f/6.3f)), "Nicely done comrade! You're an ace sharpshooter!", customGuiStyle);
}
Comment
Your answer
![](https://koobas.hobune.stream/wayback/20220613083035im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
Highscore GUI not working properly help 0 Answers
High Score on Mobile 1 Answer
Saving highscore problem 1 Answer
C#: Q about creating Score system using GUItext and Time 1 Answer
Score display not working 1 Answer