//X // Use this for initialization void Start () { startStopInAir = Time.time; stopInAir = Random.Range(minStopInAir, maxStopInAir); startDelayRotation = Time.time; delayRotation = Random.Range(minDelayRotation, maxDelayRotation); rotationSelected = rotationWay.none; }
//X // Use this for initialization void Start() { startStopInAir = Time.time; stopInAir = Random.Range(minStopInAir, maxStopInAir); startDelayRotation = Time.time; delayRotation = Random.Range(minDelayRotation, maxDelayRotation); rotationSelected = rotationWay.none; }
// Update is called once per frame void Update () { if(secondStep) { if( startDelayRotation + delayRotation < Time.time) { Quaternion rotation = this.gameObject.transform.rotation; if (rotationSelected == rotationWay.none) { rotationSelected = (rotationWay)Random.Range(minRotSelec, maxRotSelec); beginStop = true; stopInAir = Random.Range(minStopInAir, maxStopInAir); } switch(rotationSelected) { case rotationWay.left: if (this.transform.rotation.x < maxAngle.x && this.transform.rotation.x > -maxAngle.x && beginStop) { rotation *= Quaternion.Euler(1, 0, 0); transform.rotation = Quaternion.Slerp(transform.rotation, rotation, Time.deltaTime * turnSpeed); } else { if(beginStop) { beginStop = false; startStopInAir = Time.time; } else { if (startStopInAir + stopInAir < Time.time) { rotation *= Quaternion.Euler(-1, 0, 0); transform.rotation = Quaternion.Slerp(transform.rotation, rotation, Time.deltaTime * turnSpeed); } } } if (this.transform.rotation.x <= 0.001 && this.transform.rotation.x >= -0.001 && !beginStop) { startDelayRotation = Time.time; rotationSelected = rotationWay.none; delayRotation = Random.Range(minDelayRotation, maxDelayRotation); } break; case rotationWay.right: if (this.transform.rotation.x < maxAngle.x && this.transform.rotation.x > -maxAngle.x && beginStop) { rotation *= Quaternion.Euler(-1, 0, 0); transform.rotation = Quaternion.Slerp(transform.rotation, rotation, Time.deltaTime * turnSpeed); } else { if (beginStop) { beginStop = false; startStopInAir = Time.time; } else { if (startStopInAir + stopInAir < Time.time) { rotation *= Quaternion.Euler(1, 0, 0); transform.rotation = Quaternion.Slerp(transform.rotation, rotation, Time.deltaTime * turnSpeed); } } } if (this.transform.rotation.x <= 0.001 && this.transform.rotation.x >= -0.001 && !beginStop) { startDelayRotation = Time.time; rotationSelected = rotationWay.none; delayRotation = Random.Range(minDelayRotation, maxDelayRotation); } break; case rotationWay.round: break; } } } }
// Update is called once per frame void Update() { if (secondStep) { if (startDelayRotation + delayRotation < Time.time) { Quaternion rotation = this.gameObject.transform.rotation; if (rotationSelected == rotationWay.none) { rotationSelected = (rotationWay)Random.Range(minRotSelec, maxRotSelec); beginStop = true; stopInAir = Random.Range(minStopInAir, maxStopInAir); } switch (rotationSelected) { case rotationWay.left: if (this.transform.rotation.x < maxAngle.x && this.transform.rotation.x > -maxAngle.x && beginStop) { rotation *= Quaternion.Euler(1, 0, 0); transform.rotation = Quaternion.Slerp(transform.rotation, rotation, Time.deltaTime * turnSpeed); } else { if (beginStop) { beginStop = false; startStopInAir = Time.time; } else { if (startStopInAir + stopInAir < Time.time) { rotation *= Quaternion.Euler(-1, 0, 0); transform.rotation = Quaternion.Slerp(transform.rotation, rotation, Time.deltaTime * turnSpeed); } } } if (this.transform.rotation.x <= 0.001 && this.transform.rotation.x >= -0.001 && !beginStop) { startDelayRotation = Time.time; rotationSelected = rotationWay.none; delayRotation = Random.Range(minDelayRotation, maxDelayRotation); } break; case rotationWay.right: if (this.transform.rotation.x < maxAngle.x && this.transform.rotation.x > -maxAngle.x && beginStop) { rotation *= Quaternion.Euler(-1, 0, 0); transform.rotation = Quaternion.Slerp(transform.rotation, rotation, Time.deltaTime * turnSpeed); } else { if (beginStop) { beginStop = false; startStopInAir = Time.time; } else { if (startStopInAir + stopInAir < Time.time) { rotation *= Quaternion.Euler(1, 0, 0); transform.rotation = Quaternion.Slerp(transform.rotation, rotation, Time.deltaTime * turnSpeed); } } } if (this.transform.rotation.x <= 0.001 && this.transform.rotation.x >= -0.001 && !beginStop) { startDelayRotation = Time.time; rotationSelected = rotationWay.none; delayRotation = Random.Range(minDelayRotation, maxDelayRotation); } break; case rotationWay.round: break; } } } }