Beispiel #1
0
        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;
        }
Beispiel #2
0
 protected override void OnCarCollision()
 {
     base.OnCarCollision();
     _carCollisionSourcePlayer.Play();
 }