private void UpdateTraveledDistance(Vector3 velocity) { float stepDistance = velocity.magnitude; _traveledDistance += stepDistance; if (MathMethod.Approximately(_traveledDistance, travelDistance, 3)) { _traveledDistance = 0; DestinationReached = !DestinationReached; } }
private void UpdateDirection(Vector3 straightVelocity) { float stepDistance = straightVelocity.magnitude; _loopTraveledDistance += stepDistance; if (MathMethod.Approximately(_loopTraveledDistance, GetCircleCircumference() / 2, 3)) { _loopCounter += 0.5f; _loopTraveledDistance = 0; if (_loopCounter >= loops) { _direction *= -1; _angle *= -1; _loopCounter = 0; DestinationReached = !DestinationReached; } } }