private void UpdateTraveledDistance(Vector3 velocity)
    {
        float stepDistance = velocity.magnitude;

        _traveledDistance += stepDistance;
        if (MathMethod.Approximately(_traveledDistance, travelDistance, 3))
        {
            _traveledDistance  = 0;
            DestinationReached = !DestinationReached;
        }
    }
Exemple #2
0
    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;
            }
        }
    }