A game about forced loneliness, made by TACStudios
1using System.Collections.Generic; 2using System.Linq; 3using UnityEngine; 4 5namespace Unity.VisualScripting 6{ 7 [Analyser(typeof(GraphInput))] 8 public class GraphInputAnalyser : UnitAnalyser<GraphInput> 9 { 10 public GraphInputAnalyser(GraphReference reference, GraphInput unit) : base(reference, unit) { } 11 12 protected override IEnumerable<Warning> Warnings() 13 { 14 foreach (var baseWarning in base.Warnings()) 15 { 16 yield return baseWarning; 17 } 18 19 if (unit.graph != null) 20 { 21 foreach (var definitionWarning in UnitPortDefinitionUtility.Warnings(unit.graph, LinqUtility.Concat<IUnitPortDefinition>(unit.graph.controlInputDefinitions, unit.graph.valueInputDefinitions))) 22 { 23 yield return definitionWarning; 24 } 25 26 var inputs = unit.graph.units.Where(u => u is GraphInput).ToList(); 27 if (inputs.Count > 1) 28 { 29 var firstInput = inputs[0]; 30 if (unit != firstInput) 31 { 32 var graphName = string.IsNullOrEmpty(unit.graph.title) ? nameof(SubgraphUnit) : unit.graph.title; 33 Debug.LogWarning($"Only one Input node can be used and will execute in {graphName}."); 34 yield return Warning.Caution("Only one Input node can be used and will execute."); 35 } 36 } 37 } 38 } 39 } 40}