private void Move() { float currentSpeed = _speedSystem.GetCurrentSpeed(); if (currentSpeed != 0) { _rb.MovePosition(transform.position + Quaternion.LookRotation(_direction, Vector3.up) * transform.forward * currentSpeed * Time.deltaTime); _animation.SetMoving(true); if (_cameraSystem.GetCurrentCameraStateName() == CameraStateName.IDLE) { _cameraSystem.ChangeState(_speedSystem.GetCurrentSpeedTierValues().cameraStateName, false); } } else { _animation.SetMoving(false); if (_cameraSystem.GetCurrentCameraStateName() != CameraStateName.IDLE) { _cameraSystem.ChangeState(CameraStateName.IDLE, false); } } }