private IEnumerator DodgeCoroutine(int nextRoad) { _inDodge = true; var timer = 0f; var targetPosX = transform.position.x + _roadWidth.value * (nextRoad > _currentRoad ? 1 : -1); _dodgeSourcePlayer.Play(); while (timer <= _dodgeDuration) { yield return(null); timer += Time.deltaTime; var posX = Mathf.Lerp(transform.position.x, targetPosX, timer / _dodgeDuration); transform.position = new Vector3(posX, transform.position.y, transform.position.z); yield return(null); } _inDodge = false; _currentRoad = nextRoad; }
protected override void OnCarCollision() { base.OnCarCollision(); _carCollisionSourcePlayer.Play(); }