/
TON618OFF
/
Unity-Project-RTU
Обзор
Документация
Войти
/
TON618OFF
/
Unity-Project-RTU
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Library/PackageCache/com.unity.visualscripting@1.9.4/Editor/VisualScripting.Flow/Framework/Variables/UnifiedVariableUnitWidget.cs
37 строк
1 KB
TON618OFF
release
03 окт 2024, 22:20
03 окт 2024, 22:20
7c70e9f
Код
Авторство
О чём код?
using System; using System.Collections.Generic; namespace Unity.VisualScripting { [Widget(typeof(UnifiedVariableUnit))] public sealed class UnifiedVariableUnitWidget : UnitWidget<UnifiedVariableUnit> { public UnifiedVariableUnitWidget(FlowCanvas canvas, UnifiedVariableUnit unit) : base(canvas, unit) { nameInspectorConstructor = (metadata) => new VariableNameInspector(metadata, GetNameSuggestions); } protected override NodeColorMix baseColor => NodeColorMix.TealReadable; private VariableNameInspector nameInspector; private Func<Metadata, VariableNameInspector> nameInspectorConstructor; public override Inspector GetPortInspector(IUnitPort port, Metadata metadata) { if (port == unit.name) { // This feels so hacky. The real holy grail here would be to support attribute decorators like Unity does. InspectorProvider.instance.Renew(ref nameInspector, metadata, nameInspectorConstructor); return nameInspector; } return base.GetPortInspector(port, metadata); } private IEnumerable<string> GetNameSuggestions() { return EditorVariablesUtility.GetVariableNameSuggestions(unit.kind, reference); } } }