I have a C# script that is supposed to handle Quick Time Events. I have it so that the event is activated via ActivateQTE(gameObject), so that I’ll know who called it. However, once the quicktime event is done, the variables I stored on activation are all Null! Specificaly, button1, button2 and called become null. Am I doing something wrong?
bool isActive = false, canQTE = true;
public float duration;
float timer;
int count;
public GameObject key1, key2;
GameObject button1, button2, called;
public void ActivateQTE (GameObject go)
{
isActive = true;
timer = 0f;
count = 0;
called = go;
}
void Update ()
{
if (isActive) {
timer += Time.deltaTime;
//This bit runs only once when it activates.
if (canQTE) {
canQTE = false;
//Creates the buttons onscreen
button1 = (GameObject)Instantiate (key1);
button2 = (GameObject)Instantiate (key2);
}
if (timer < duration) {
//Do QTE
} else {
//Here is where the issue starts. "button1", "button2" and null, so is "called"
Destroy (button1);
Destroy (button2);
if (count >= clearAmmount) {
called.SendMessage ("QTE_Clear");
} else {
called.SendMessage ("QTE_Fail");
}
isActive = false;
canQTE = true;
}
}
}
Thanks in advance