So, right now In have a random generator that generates a random location and Instantiates a prefab there. What I am trying to do is get it so when I touch the object (prefab object) I want the score to go up by one and the object to disappear.
Right now the score is also a prefab that I Instantiate on start up so it can be set as a variable of the object prefab, but this only updates the score when I play then stop and play again.
Does anyone have a better way of doing this or a way to fix this? Thanks.
Scripts:
Random object generator:
var scoreGui : GUIText;
var myobject : Transform;
var minWait = 1.0;
var maxWait = 5.0;
function Start ()
{
Instantiate (scoreGui);
while(true)
{
yield WaitForSeconds(Random.Range(minWait, maxWait));
Spawn();
}
}
function Spawn ()
{
var position = Vector3(Random.Range(-18, 18), 2.5, Random.Range(-10, 10));
Instantiate (myobject, position, transform.rotation);
}
Score Script:
var scoreGui : GUIText;
var score = PlayerPrefs.GetInt("Score");
public function Start()
{
UpdateScoreGui();
}
function UpdateScoreGui()
{
scoreGui.text = "Current Score: " + score;
}
function AddPoint () {
score++;
UpdateScoreGui();
}
Object Script:
var other : GameObject;
function OnMouseDown(){
var sa : ScoreScript = other.GetComponent( ScoreScript );
sa.AddPoint();
Destroy(gameObject);
}