public static bool IsInstanceContent(this FigmaNode node, Services.IFigmaFileProvider provider, out FigmaInstance instanceDialog) { if (node.Parent != null && TryGetInstanceDialogParentContainer(node.Parent, provider, out instanceDialog) && node.IsNodeWindowContent()) { return(true); } instanceDialog = null; return(false); }
public static bool TryGetInstanceDialogParentContainer(this FigmaNode figmaNode, Services.IFigmaFileProvider provider, out FigmaInstance instanceDialog) { if (figmaNode is IFigmaNodeContainer container) { foreach (var item in container.children) { if (item is FigmaInstance figmaInstance && provider.TryGetMainComponent(figmaInstance, out instanceDialog)) { return(true); } } } instanceDialog = null; return(false); }