// 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; } }
// Start is called before the first frame update void Start() { currentCarBehavior = carBehavior.Straight; rigidbody = GetComponent <Rigidbody>(); if (isHackedCar) { maxSpeed = 40f; } else { maxSpeed = 30f; } }
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>(); }
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; } }