/
TON618OFF
/
Unity-Project-RTU
Обзор
Документация
Войти
/
TON618OFF
/
Unity-Project-RTU
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Library/PackageCache/com.unity.visualscripting@1.9.4/Runtime/VisualScripting.Flow/Framework/Nesting/GraphOutput.cs
54 строки
1 KB
TON618OFF
release
03 окт 2024, 22:20
03 окт 2024, 22:20
7c70e9f
Код
Авторство
О чём код?
using System.Linq; namespace Unity.VisualScripting { /// <summary> /// Passes output values from this graph to the parent super unit. /// </summary> [UnitCategory("Nesting")] [UnitOrder(2)] [UnitTitle("Output")] public sealed class GraphOutput : Unit { public override bool canDefine => graph != null; protected override void Definition() { isControlRoot = true; foreach (var controlOutputDefinition in graph.validPortDefinitions.OfType<ControlOutputDefinition>()) { var key = controlOutputDefinition.key; ControlInput(key, (flow) => { var superUnit = flow.stack.GetParent<SubgraphUnit>(); flow.stack.ExitParentElement(); superUnit.EnsureDefined(); return superUnit.controlOutputs[key]; }); } foreach (var valueOutputDefinition in graph.validPortDefinitions.OfType<ValueOutputDefinition>()) { var key = valueOutputDefinition.key; var type = valueOutputDefinition.type; ValueInput(type, key); } } protected override void AfterDefine() { graph.onPortDefinitionsChanged += Define; } protected override void BeforeUndefine() { graph.onPortDefinitionsChanged -= Define; } } }