Rasagar/Library/PackageCache/com.unity.shadergraph/Editor/Data/Graphs/GraphDataReadOnly.cs
2024-08-26 23:07:20 +03: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;
}
}