A game about forced loneliness, made by TACStudios
1using System.Collections.Generic;
2using System.Linq;
3
4namespace Unity.VisualScripting
5{
6 [Analyser(typeof(GraphOutput))]
7 public class GraphOutputAnalyser : UnitAnalyser<GraphOutput>
8 {
9 public GraphOutputAnalyser(GraphReference reference, GraphOutput unit) : base(reference, unit) { }
10
11 protected override IEnumerable<Warning> Warnings()
12 {
13 foreach (var baseWarning in base.Warnings())
14 {
15 yield return baseWarning;
16 }
17
18 if (unit.graph != null)
19 {
20 foreach (var definitionWarning in UnitPortDefinitionUtility.Warnings(unit.graph, LinqUtility.Concat<IUnitPortDefinition>(unit.graph.controlOutputDefinitions, unit.graph.valueOutputDefinitions)))
21 {
22 yield return definitionWarning;
23 }
24
25 if (unit.graph.units.Count(unit => unit is GraphOutput) > 1)
26 {
27 yield return Warning.Caution("Multiple output nodes in the same graph. Only one of them will be used.");
28 }
29 }
30 }
31 }
32}