A game about forced loneliness, made by TACStudios
1using System.Linq;
2using UnityEditor.Graphing;
3
4namespace UnityEditor.ShaderGraph
5{
6 readonly struct GraphDataReadOnly
7 {
8 private readonly GraphData m_Graph;
9
10 public GraphDataReadOnly(GraphData graph)
11 {
12 m_Graph = graph;
13 }
14
15 private bool AnyConnectedControl<T>() where T : IControl
16 {
17 var matchingNodes = m_Graph.GetNodes<BlockNode>().Where(o => o.descriptor.control is T);
18 return matchingNodes.SelectMany(o => o.GetInputSlots<MaterialSlot>()).Any(o => o.isConnected);
19 }
20
21 public bool AnyVertexAnimationActive()
22 {
23 return AnyConnectedControl<PositionControl>();
24 }
25
26 public bool IsVFXCompatible() => m_Graph.hasVFXCompatibleTarget;
27 }
28}