using UnityEngine; using System.Collections; public class AnimationScript : MonoBehaviour { public bool isAnimated = false; public bool isRotating = false; public bool isFloating = false; public bool isScaling = false; public Vector3 rotationAngle; public float rotationSpeed; public float floatSpeed; private bool goingUp = true; public float floatRate; private float floatTimer; public Vector3 startScale; public Vector3 endScale; private bool scalingUp = true; public float scaleSpeed; public float scaleRate; private float scaleTimer; // Use this for initialization void Start () { } // Update is called once per frame void Update () { if(isAnimated) { if(isRotating) { transform.Rotate(rotationAngle * rotationSpeed * Time.deltaTime); } if(isFloating) { floatTimer += Time.deltaTime; Vector3 moveDir = new Vector3(0.0f, 0.0f, floatSpeed); transform.Translate(moveDir); if (goingUp && floatTimer >= floatRate) { goingUp = false; floatTimer = 0; floatSpeed = -floatSpeed; } else if(!goingUp && floatTimer >= floatRate) { goingUp = true; floatTimer = 0; floatSpeed = +floatSpeed; } } if(isScaling) { scaleTimer += Time.deltaTime; if (scalingUp) { transform.localScale = Vector3.Lerp(transform.localScale, endScale, scaleSpeed * Time.deltaTime); } else if (!scalingUp) { transform.localScale = Vector3.Lerp(transform.localScale, startScale, scaleSpeed * Time.deltaTime); } if(scaleTimer >= scaleRate) { if (scalingUp) { scalingUp = false; } else if (!scalingUp) { scalingUp = true; } scaleTimer = 0; } } } } }