// Update is called once per frame
    void Update()
    {
        switch (currentCarBehavior)
        {
        case carBehavior.Straight:
            transform.Translate(Vector3.forward * Time.deltaTime * speed);    //Moves Forward based on Verticl Input
            break;

        case carBehavior.TurnAlongRoad:
            angleTurned += turnSpeed;
            transform.Rotate(Vector3.up, Time.deltaTime * turnSpeed);      //Rotate the Car
            transform.Translate(Vector3.forward * Time.deltaTime * speed); //Moves Forward based on Verticl Input
            break;

        case carBehavior.StraightenOut:
            transform.eulerAngles = new Vector3(0, dirToTurn, 0);
            currentCarBehavior    = carBehavior.Straight;
            break;

        case carBehavior.RightTurn:
            dirToTurn      = 90f;
            timeSinceStop += (Time.deltaTime * Time.timeScale);
            transform.Translate(Vector3.forward * Time.deltaTime * 4f); //Moves Forward
            transform.Rotate(Vector3.up, Time.deltaTime * 45f);         //Rotate the Car
            if (timeSinceStop > 2f)
            {
                currentCarBehavior = carBehavior.Straight;
            }
            break;

        case carBehavior.TurnIntoLot:
            angleTurned = 0f;
            counter++;
            if (counter % 3 == 0 && counter > 30 && ((counter < 180 && !isHackedCar) || (isHackedCar && counter < 120)))
            {
                transform.Rotate(Vector3.up, Time.deltaTime * turnSpeed * 4f);    //Rotate the Car
            }
            else if (isHackedCar && counter % 3 == 0 && counter > 90)
            {
                transform.Rotate(Vector3.up, Time.deltaTime * turnSpeed * 8f);    //Rotate the Car
            }
            else if (counter % 3 == 0 && counter > 180)
            {
                transform.Rotate(Vector3.up, Time.deltaTime * turnSpeed * 8f);    //Rotate the Car
            }
            transform.Translate(Vector3.forward * Time.deltaTime * speed * .5f);  //Moves Forward based on Verticl Input
            break;

        case carBehavior.Complete:
            transform.Translate(Vector3.forward * 0);
            rigidbody.velocity = new Vector3(0, 0, 0);
            break;

        default:
            break;
        }
    }
Example #2
0
 // Start is called before the first frame update
 void Start()
 {
     currentCarBehavior = carBehavior.Straight;
     rigidbody          = GetComponent <Rigidbody>();
     if (isHackedCar)
     {
         maxSpeed = 40f;
     }
     else
     {
         maxSpeed = 30f;
     }
 }
Example #3
0
    void Update()
    {
        switch (currentCarBehavior)
        {
        case carBehavior.Straight:
            transform.Translate(Vector3.forward * Time.deltaTime * speed);    //Moves Forward based on Verticl Input
            break;

        case carBehavior.SpeedUp:
            if (Time.timeScale > 0)
            {
                speed *= 1.05f;
            }
            if (speed > maxSpeed)
            {
                speed = maxSpeed;
            }
            transform.Translate(Vector3.forward * Time.deltaTime * speed);    //Moves Forward
            break;

        case carBehavior.OnRamp:
            timeSinceStop += (Time.deltaTime * Time.timeScale);
            if (isHackedCar)
            {
                if (timeSinceStop > 1.75f)
                {
                    currentCarBehavior = carBehavior.Complete;
                }
                transform.Translate(Vector3.forward * Time.deltaTime * speed * .85f);    //Moves Forward based on Verticl Input
            }
            else
            {
                transform.Translate(Vector3.forward * Time.deltaTime * speed * .75f);  //Moves Forward based on Verticl Input
                if (timeSinceStop > 1.75f)
                {
                    transform.Rotate(Vector3.up, Time.deltaTime * 55f);    //Rotate the Car
                }
            }
            break;

        case carBehavior.Complete:

            break;

        default:
            break;
        }
    }
 // Start is called before the first frame update
 void Start()
 {
     currentCarBehavior = carBehavior.Straight;
     rigidbody          = GetComponent <Rigidbody>();
 }
Example #5
0
    void Update()
    {
        switch (currentCarBehavior)
        {
        case carBehavior.Straight:
            transform.Translate(Vector3.forward * Time.deltaTime * speed);    //Moves Forward based on Verticl Input
            break;

        case carBehavior.Slow:
            if (Time.timeScale > 0)
            {
                speed *= .99f;
            }
            transform.Translate(Vector3.forward * Time.deltaTime * speed);    //Moves Forward
            break;

        case carBehavior.Stop:
            timeSinceStop += (Time.deltaTime * Time.timeScale);
            if (isHackedCar || timeSinceStop > 1.5f)
            {
                timeSinceStop      = 0;
                currentCarBehavior = carBehavior.Turn;
            }

            break;

        case carBehavior.Turn:
            timeSinceStop += (Time.deltaTime * Time.timeScale);
            transform.Translate(Vector3.forward * Time.deltaTime * 4f);    //Moves Forward
            if (timeSinceStop > .5f)
            {
                transform.Rotate(Vector3.up, Time.deltaTime * 45f);    //Rotate the Car
            }
            if (timeSinceStop > 2.5f)
            {
                speed = 10;
                currentCarBehavior = carBehavior.Straight;
            }
            break;

        case carBehavior.Crash:
            timeSinceStop += (Time.deltaTime * Time.timeScale);
            if (!isHackedCar)
            {
                transform.Translate(Vector3.forward * Time.deltaTime * speed);    //Moves Forward based on Verticl Input
            }
            else
            {
                transform.Rotate(Vector3.right * Time.timeScale * 12f);    //Rotate the Car
                transform.Rotate(Vector3.up * Time.timeScale * 12f);       //Rotate the Car
                transform.Translate(Vector3.right * Time.deltaTime * 20f); //Moves Forward based on Verticl Input
                transform.Translate(Vector3.up * Time.deltaTime * .1f);    //Moves Forward based on Verticl Input
            }
            if (timeSinceStop > 3f)
            {
                currentCarBehavior = carBehavior.Complete;
            }
            break;

        case carBehavior.Complete:
            transform.Translate(Vector3.forward * 0);
            transform.Rotate(Vector3.up * 0);
            rigidbody.velocity = new Vector3(0, 0, 0);
            break;

        default:
            break;
        }
    }
        void Update()
        {
            switch (currentCarBehavior)
            {
            case carBehavior.Straight:
                transform.Translate(Vector3.forward * Time.deltaTime * speed);    //Moves Forward based on Verticl Input
                break;

            case carBehavior.Slow:
                speed *= .99f;
                transform.Translate(Vector3.forward * Time.deltaTime * speed);    //Moves Forward
                break;

            case carBehavior.Stop:
                timeSinceStop += (Time.deltaTime * Time.timeScale);
                if (timeSinceStop > 1.5f)
                {
                    timeSinceStop      = 0;
                    currentCarBehavior = carBehavior.Turn;
                }
                break;

            case carBehavior.Turn:
                timeSinceStop += (Time.deltaTime * Time.timeScale);
                transform.Translate(Vector3.forward * Time.deltaTime * 4f);    //Moves Forward
                if (timeSinceStop > 1.5f)
                {
                    transform.Rotate(Vector3.down, Time.deltaTime * 45f);    //Rotate the Car
                }
                if (timeSinceStop > 3.47f)
                {
                    speed = 10;
                    currentCarBehavior = carBehavior.Straight;
                }
                break;

            case carBehavior.Park:
                parkingCounter += (Time.deltaTime * Time.timeScale);
                if (parkingCounter < 3f)
                {
                    transform.Translate(Vector3.forward * Time.deltaTime * 2f);    //Moves Forward
                }
                else if (parkingCounter < 5.25f && isHackedCar)
                {
                    transform.Rotate(Vector3.up, Time.deltaTime * 10f);         //Rotate the Car
                    transform.Translate(Vector3.forward * Time.deltaTime * 2f); //Moves Forward
                }
                else if (parkingCounter < 6f && isHackedCar)
                {
                    transform.Translate(Vector3.forward * Time.deltaTime * 4f);    //Moves Forward
                }
                else if (parkingCounter < 8f && isHackedCar)
                {
                    transform.Rotate(Vector3.down, Time.deltaTime * 10f);    //Rotate the Car
                }
                else if (parkingCounter < 9.35f && isHackedCar)
                {
                    transform.Translate(Vector3.forward * Time.deltaTime * 2f);  //Moves Forward
                    transform.Translate(Vector3.left * Time.deltaTime * .5f);    //Moves Forward
                }
                else
                {
                    currentCarBehavior = carBehavior.Complete;
                }
                break;

            case carBehavior.Complete:
                transform.Translate(Vector3.forward * 0);
                rigidbody.velocity = new Vector3(0, 0, 0);
                break;

            default:
                break;
            }
        }