/
TON618OFF
/
Unity-Project-RTU
Обзор
Документация
Войти
/
TON618OFF
/
Unity-Project-RTU
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Library/PackageCache/com.unity.visualscripting@1.9.4/Runtime/VisualScripting.Flow/Framework/Variables/IsVariableDefined.cs
57 строк
2 KB
TON618OFF
release
03 окт 2024, 22:20
03 окт 2024, 22:20
7c70e9f
Код
Авторство
О чём код?
using UnityEngine; namespace Unity.VisualScripting { /// <summary> /// Checks whether a variable is defined. /// </summary> [UnitTitle("Has Variable")] public sealed class IsVariableDefined : UnifiedVariableUnit { /// <summary> /// Whether the variable is defined. /// </summary> [DoNotSerialize] [PortLabel("Defined")] [PortLabelHidden] [PortKey("isDefined")] public ValueOutput isVariableDefined { get; private set; } protected override void Definition() { base.Definition(); isVariableDefined = ValueOutput("isDefined", IsDefined); Requirement(name, isVariableDefined); if (kind == VariableKind.Object) { Requirement(@object, isVariableDefined); } } private bool IsDefined(Flow flow) { var name = flow.GetValue<string>(this.name); switch (kind) { case VariableKind.Flow: return flow.variables.IsDefined(name); case VariableKind.Graph: return Variables.Graph(flow.stack).IsDefined(name); case VariableKind.Object: return Variables.Object(flow.GetValue<GameObject>(@object)).IsDefined(name); case VariableKind.Scene: return Variables.Scene(flow.stack.scene).IsDefined(name); case VariableKind.Application: return Variables.Application.IsDefined(name); case VariableKind.Saved: return Variables.Saved.IsDefined(name); default: throw new UnexpectedEnumValueException<VariableKind>(kind); } } } }