Files
TowerDefence/My project/Library/PackageCache/com.unity.shadergraph@c7cb9a0feac2/Editor/Data/Graphs/GraphDataReadOnly.cs
Caleb Sandford deQuincey 334021d04e Started project
2025-11-14 17:30:41 +00: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;
}
}