using UnityObject = UnityEngine.Object; namespace Unity.VisualScripting { public static class GraphNesterDescriptor { public static string Title(IGraphNester nester) { return Title(nester, string.Empty); } public static string Title(IGraphNester nester, string defaultName) { var graph = nester.childGraph; if (!StringUtility.IsNullOrWhiteSpace(graph?.title)) { return graph?.title; } if (nester.nest.source == GraphSource.Macro && (UnityObject)nester.nest.macro != null) { var macroName = ((UnityObject)nester.nest.macro).name; return BoltCore.Configuration.humanNaming ? macroName.Prettify() : macroName; } return !string.IsNullOrEmpty(defaultName) ? defaultName : nester.GetType().HumanName(); } public static string Summary(IGraphNester nester) { var graph = nester.childGraph; if (!StringUtility.IsNullOrWhiteSpace(graph?.summary)) { return graph?.summary; } return nester.GetType().Summary(); } } }