Esempio n. 1
0
    //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;
	}
Esempio n. 2
0
    //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;
    }
Esempio n. 3
0
	// 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;
                }
            }
        }
	}
Esempio n. 4
0
    // 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;
                }
            }
        }
    }