public void startRotatingForward() { // disable battery restrictions when in tutorial if (tutorialOn || BatterySystem.GetPower() > 0) { if (!tutorialOn) { BatterySystem.SubPower(1); } numXClicks++; RotateBehavior rotateBehavior = objectToRotate.GetComponent <RotateBehavior>(); if (!rotateBehavior.rotating()) { //rotate rotateBehavior.setRotatingForward(true); float targetRotation = rotateBehavior.getTargetRotation(); objectToRotate.transform.Rotate(-targetRotation, 0, 0); rotateBehavior.setEndRotation(objectToRotate.transform.rotation); objectToRotate.transform.Rotate(targetRotation, 0, 0); } timerStart = true; } }
void Update() { elapsedTime += Time.deltaTime; if (elapsedTime > 0.1F) { elapsedTime = 0.0F; GameObject cardInstance = Instantiate(card, Vector3.zero, Quaternion.FromToRotation(Vector3.up, Random.onUnitSphere)); cardInstance.transform.localScale = new Vector3(2.0F, 2.0F, 2.0F); RotateBehavior rotate = cardInstance.AddComponent <RotateBehavior>(); rotate.RotationSpeed = Random.Range(180.0F, 720.0F); rotate.RotationDirection = Random.onUnitSphere; rotate.TranslationSpeed = Random.Range(10.0F, 20.0F); rotate.TranslationDirection = Random.onUnitSphere; } }
// Update is called once per frame void Update() { //this should fix the stuck/infinite rotation glitch if (timerStart) { transform.GetComponent <Button>().interactable = false; timer += Time.deltaTime; RotateBehavior rotateBehavior = objectToRotate.GetComponent <RotateBehavior>(); if (!rotateBehavior.rotating()) { transform.GetComponent <Button>().interactable = true; timerStart = false; timer = 0; } else if (rotateBehavior.rotating() && timer > 1) { Quaternion endRotation = rotateBehavior.getEndRotation(); objectToRotate.transform.rotation = endRotation; timerStart = false; timer = 0; transform.GetComponent <Button>().interactable = true; } } }
public WallBlock(RotateBehavior rotateBehavior, MoveBehavior moveBehavior) : base(rotateBehavior, moveBehavior) { }
public void setRotateBehavior(RotateBehavior rotateBehavior) { this.rotateBehavior = rotateBehavior; }
public SimpleBlock(RotateBehavior rotateBehavior, MoveBehavior moveBehavior) { this.rotateBehavior = rotateBehavior; this.moveBehavior = moveBehavior; }
public ImageDataBlock(RotateBehavior rotateBehavior, MoveBehavior moveBehavior, ColorMixingBehavior colorMixingBehavior) : base(rotateBehavior, moveBehavior) { this.colorMixingBehavior = colorMixingBehavior; }
public SamplePlayableBlock(RotateBehavior rotateBehavior, MoveBehavior moveBehavior, ColorMixingBehavior colorMixingBehavior) : base(rotateBehavior, moveBehavior, colorMixingBehavior) { }