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();
}
}
}