private void OnDrawGizmos()
    {
        if (Gizmo.IsPlaying)
        {
            if (currentActions == null || currentActions.Count == 0)
            {
                return;
            }

            GOAP.Action current  = currentActions.Peek();
            bool        selected = false;

            GameObject target = current.target;
            if (target == null)
            {
                target = gameObject;
            }

            switch (Gizmo.show)
            {
            case Gizmo.Filter.Agent:
                selected = Gizmo.SelectedInHierachy == gameObject;
                break;

            case Gizmo.Filter.Action:
                selected = target.gameObject == Gizmo.SelectedInHierachy;
                break;

            case Gizmo.Filter.All:
                selected = true;
                break;
            }

            if (selected)
            {
                Gizmo.DrawLine(target.transform.position, transform.position, Color.yellow);
                Gizmo.DrawCircle(target.transform.position, 16, current.minExecDist / 1.5f, Color.yellow);

                Gizmo.DrawText(transform.position, current.GetType().Name);
            }
        }
    }
    public static string ToString(GOAP.Action action)
    {
        String s = "" + action.GetType().Name;

        return(s);
    }