void FixedUpdate() { _moveHorizontal = Input.GetAxis("Horizontal"); _moveVertical = Input.GetAxis("Vertical"); Vector3 direction = new Vector3(_moveHorizontal, 0.0f, _moveVertical); TurboMode turbomode = GetComponent <TurboMode>(); if (turbomode.turboAndPlayerColided == true) { if (turboFinished == false) { StartCoroutine(TurboDuration()); } } if (turbomode.turboAndPlayerColided == false) { MovementSpeed = MovementAfterTurbo; JumpHeight = JumpHeightAfterTurbo; } _rigidbody.AddForce(direction * MovementSpeed); }
IEnumerator TurboDuration() { ballMesh.GetComponent <MeshRenderer>().material = ballOrangeMaterial; turboFinished = false; TurboMode turbomode = GetComponent <TurboMode>(); MovementSpeed = turbomode.movementSpeedTurbo; JumpHeight = turbomode.jumpHeightTurbo; HealthManager healthmanager = GetComponent <HealthManager>(); if (healthmanager.PlayerDiedWithTurbo == true) { turbomode.turboAndPlayerColided = false; turboFinished = true; turbomode.turboCanvasNull.SetTrigger("TurboCanvasNull"); ballMesh.GetComponent <MeshRenderer>().material = ballDefaultMaterial; } yield return(new WaitForSeconds(turbomode.turboDuration)); ballMesh.GetComponent <MeshRenderer>().material = ballDefaultMaterial; turbomode.turboAndPlayerColided = false; turboFinished = true; turbomode.turboCanvasFadeOut.SetTrigger("TurboCanvasFadeOut"); }