12345678910111213141516171819202122232425262728 |
- 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;
- }
- }
|