private bool TryFindObjectToHide(float hideRange)
    {
        if (_targetHideObject != null)
        {
            return(true);
        }
        var hideObjects = new Collider[15];
        var size        = Physics.OverlapSphereNonAlloc(GetParentTransform().position, hideRange, hideObjects);

        foreach (var currHideObject in hideObjects)
        {
            if (currHideObject == null)
            {
                continue;
            }
            var hideObject = TryGetHideObject(currHideObject.gameObject);
            if (hideObject != null)
            {
                _targetHideObject = hideObject;
                return(true);
            }
        }

        return(false);
    }
 public override void Finish()
 {
     base.Finish();
     if (HideObjectInRange())
     {
         HideInHideObject();
     }
     _targetHideObject = null;
 }
 // Start is called before the first frame update
 public virtual void Start()
 {
     SpriteRenderer = GetComponent <SpriteRenderer>();
     if (SpriteRenderer == null)
     {
         SpriteRenderer = transform.GetComponentInChildren <SpriteRenderer>();
     }
     HideObject = GetComponent <HideObject>();
 }
 public override void StopAi()
 {
     base.StopAi();
     _targetHideObject = null;
 }