// Start is called before the first frame update void Start() { PlayerPrefs.SetFloat("Health", 100); gameManager = GameObject.Find("DriveGameManager").GetComponent <DriveGameManager>(); gameController = GameObject.Find("GameManager").GetComponent <GameController>(); gameManager.setSpeed(0f); maxSpeed = 40.0f; isTouchingObstacle = false; }
// Update is called once per frame void FixedUpdate() { horizontalInput = Input.GetAxis("Horizontal"); verticalInput = Input.GetAxis("Vertical"); // Gas is on. Move forwards if (verticalInput > 0) { if (gameManager.getSpeed() < maxSpeed) { if (gameManager.getSpeed() < 0) { gameManager.incrementSpeed(2); } gameManager.incrementSpeed(0.6f); } else { gameManager.setSpeed(maxSpeed); } } // Reverse is on. Move backwards else if (verticalInput < 0) { if (gameManager.getSpeed() > -maxSpeed) { if (gameManager.getSpeed() > 0) { gameManager.decrementSpeed(2); } gameManager.decrementSpeed(0.6f); } if (gameManager.getSpeed() < -maxSpeed) { gameManager.setSpeed(-maxSpeed); } } // Car is not getting gas. Slow down else if (verticalInput == 0) { // Car is moving forwards if (gameManager.getSpeed() > 0) { gameManager.decrementSpeed(1.0f); if (gameManager.getSpeed() < 0) { gameManager.setSpeed(0); } } // Car is moving backwards else if (gameManager.getSpeed() < 0) { gameManager.incrementSpeed(1.0f); if (gameManager.getSpeed() > 0) { gameManager.setSpeed(0); } } } transform.Translate(Vector3.forward * gameManager.getSpeed() * Time.deltaTime); if (gameManager.getSpeed() > 0) { transform.Rotate(Vector3.up * turnSpeed * Time.deltaTime * horizontalInput); } else if (gameManager.getSpeed() < 0) { transform.Rotate(Vector3.up * turnSpeed * Time.deltaTime * -horizontalInput); } if (isTouchingObstacle) { if (gameManager.getSpeed() > 0) { gameManager.decrementSpeed(1.5f); if (gameManager.getSpeed() < 0) { gameManager.setSpeed(0); } } if (gameManager.getSpeed() < 0) { gameManager.incrementSpeed(1.5f); if (gameManager.getSpeed() > 0) { gameManager.setSpeed(0); } } } if (scene == 7) { if (gameObject.transform.position.y < 2.0f) { PlayerPrefs.SetFloat("Health", 0); } } }