- Home /
Question by
Davidflynn · Oct 29, 2011 at 09:48 AM ·
Rest postion after animation plays
I have code on my grave stones this one below then the one below that I have on an empty game object what I need to do is rest the position of the grave stones after the animation plays so if they got it wrong they can try again.
var currentGrave : GameObject;
var controller: GameObject;
var pushed : boolean = false;
function OnTriggerStay(other : Collider)
{
//if (pushed != true)
//{
if (Input.GetKeyDown (KeyCode.R))
{
print ("R key was pressed");
switch (this.gameObject.tag)
{
case "grave1":
controller.GetComponent(GraveHandler).pushgrave1 = true;
this.animation.Play();
break;
case "grave2":
controller.GetComponent(GraveHandler).pushgrave2 = true;
this.animation.Play();
break;
case "grave3":
controller.GetComponent(GraveHandler).pushgrave3 = true;
this.animation.Play();
break;
default:
print ("Grave error");
break;
//pulled = true;
}
}
//}
}
And This one An empty Object in the game.
var pushgrave1 : boolean;
var pushgrave2 : boolean;
var pushgrave3 : boolean;
var pushedgrave1 : boolean;
var pushedgrave2 : boolean;
var pushedgrave3 : boolean;
var numberOfGravePushed : int = 0;
var firstNum : int = 0;
var secondNum : int = 0;
var thirdNum : int = 0;
var gate : GameObject;
function Update ()
{
if (pushgrave1 && pushedgrave1 == false)
{
print ("push grave 1");
numberOfGravePushed++;
pushedgrave1 = true;
if (firstNum == 0)
{
firstNum = 1;
}
else if (secondNum == 0)
{
secondNum = 1;
}
else if (thirdNum == 0)
{
thirdNum = 1;
}
}
if (pushgrave2 && pushedgrave2 == false)
{
print ("push grave 2");
numberOfGravePushed++;
pushedgrave2 = true;
if (firstNum == 0)
{
firstNum = 2;
}
else if (secondNum == 0)
{
secondNum = 2;
}
else if (thirdNum == 0)
{
thirdNum = 2;
}
}
if (pushgrave3 && pushedgrave3 == false)
{
print ("push grave 3");
numberOfGravePushed++;
pushedgrave3 = true;
if (firstNum == 0)
{
firstNum = 3;
}
else if (secondNum == 0)
{
secondNum = 3;
}
else if (thirdNum == 0)
{
thirdNum = 3;
}
}
if (firstNum != 0 && secondNum != 0 && thirdNum != 0)
{
checkMath(firstNum,secondNum,thirdNum);
}
}
// Assign numbers in order to submit to checkMath
function checkMath (num1 : double, num2 : double, num3 : double)
{
var result : double = 0.0d;
result = num1 * num2 / num3;
if ( result == 1.5d )
{
print ("CORRECT");
gate.animation.Play();
}
else
{
print ("INCORRECT");
resetGrave();
}
}
function resetGrave ()
{
numberOfGravePushed = 0;
pushgrave1 = false;
pushgrave2 = false;
pushgrave3 = false;
pushedgrave1 = false;
pushedgrave2 = false;
pushedgrave3 = false;
firstNum = 0;
secondNum = 0;
thirdNum = 0;
}
Comment
Your answer
Follow this Question
Related Questions
Multiple Cars not working 1 Answer
Problem with forcing objects to a 2D plane 1 Answer
Audio not playing [Fixed] 1 Answer
JS to C# Translation? 2 Answers
Targeting retical that changes color 1 Answer