/
TON618OFF
/
Unity-Project-RTU
Обзор
Документация
Войти
/
TON618OFF
/
Unity-Project-RTU
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Library/PackageCache/com.unity.visualscripting@1.9.4/Editor/VisualScripting.Flow/Description/UnitPortDescription.cs
79 строк
2 KB
TON618OFF
release
03 окт 2024, 22:20
03 окт 2024, 22:20
7c70e9f
Код
Авторство
О чём код?
using System; namespace Unity.VisualScripting { public sealed class UnitPortDescription : IDescription { private string _label; private bool _isLabelVisible = true; internal IUnitPort portType; public EditorTexture icon { get { if (_icon == null || !_icon.IsValid()) { _icon = GetIcon(portType); } return _icon; } set => _icon = value; } private EditorTexture _icon; public string fallbackLabel { get; set; } public string label { get => _label ?? fallbackLabel; set => _label = value; } public bool showLabel { get => !BoltFlow.Configuration.hidePortLabels || _isLabelVisible; set => _isLabelVisible = value; } string IDescription.title => label; public string summary { get; set; } public Func<Metadata, Metadata> getMetadata { get; set; } public void CopyFrom(UnitPortDescription other) { _label = other._label; _isLabelVisible = other._isLabelVisible; summary = other.summary; portType = other.portType ?? portType; getMetadata = other.getMetadata ?? getMetadata; } private static EditorTexture GetIcon(IUnitPort portType) { if (portType is IUnitControlPort) { return typeof(Flow).Icon(); } else if (portType is IUnitValuePort) { return Icons.Type(((IUnitValuePort)portType).type); } else if (portType is IUnitInvalidPort) { return BoltCore.Resources.icons.errorState; } else { // throw new NotSupportedException(); return null; } } } }