StellarXipher/Library/PackageCache/com.unity.shadergraph@d57efd43b1c1/Editor/Data/Graphs/GraphDataReadOnly.cs
2025-02-06 16:45:46 -05:00

29 lines
775 B
C#

using System.Linq;
using UnityEditor.Graphing;
namespace UnityEditor.ShaderGraph
{
readonly struct GraphDataReadOnly
{
private readonly GraphData m_Graph;
public GraphDataReadOnly(GraphData graph)
{
m_Graph = graph;
}
private bool AnyConnectedControl<T>() where T : IControl
{
var matchingNodes = m_Graph.GetNodes<BlockNode>().Where(o => o.descriptor.control is T);
return matchingNodes.SelectMany(o => o.GetInputSlots<MaterialSlot>()).Any(o => o.isConnected);
}
public bool AnyVertexAnimationActive()
{
return AnyConnectedControl<PositionControl>();
}
public bool IsVFXCompatible() => m_Graph.hasVFXCompatibleTarget;
}
}