UnitMovement.targetReached C# (CSharp) Method

targetReached() private method

private targetReached ( float distanceToTarget ) : bool
distanceToTarget float
return bool
    private bool targetReached( float distanceToTarget )
    {
        BoxCollider targetCollider = target.GetComponent<BoxCollider>();
        BoxCollider myCollider = this.GetComponent<BoxCollider>();

        if( targetCollider != null && myCollider != null )
        {
            Vector3 targetExtents = targetCollider.bounds.extents;
            Vector3 myExtents = myCollider.bounds.extents;

            float targetDiagonal = new Vector2(targetExtents.x, targetExtents.z).magnitude;
            float myDiagonal = new Vector2(myExtents.x, myExtents.z).magnitude;

            if (targetDiagonal == 0) myDiagonal = 0.2f;

            return distanceToTarget < targetDiagonal + myDiagonal;
        }
        else
        {
            Debug.LogError("No collider found in " + target.name + " or in " + name);
        }

        return false;
    }