/
TON618OFF
/
Unity-Project-RTU
Обзор
Документация
Войти
/
TON618OFF
/
Unity-Project-RTU
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Library/PackageCache/com.unity.visualscripting@1.9.4/Runtime/VisualScripting.Flow/MultiInputUnit.cs
59 строк
1 KB
TON618OFF
release
03 окт 2024, 22:20
03 окт 2024, 22:20
7c70e9f
Код
Авторство
О чём код?
using System.Collections.Generic; using System.Collections.ObjectModel; using UnityEngine; namespace Unity.VisualScripting { public interface IMultiInputUnit : IUnit { int inputCount { get; set; } ReadOnlyCollection<ValueInput> multiInputs { get; } } public abstract class MultiInputUnit<T> : Unit, IMultiInputUnit { [SerializeAs(nameof(inputCount))] private int _inputCount = 2; [DoNotSerialize] protected virtual int minInputCount => 2; [DoNotSerialize] [Inspectable, UnitHeaderInspectable("Inputs")] public virtual int inputCount { get { return _inputCount; } set { _inputCount = Mathf.Clamp(value, minInputCount, 10); } } [DoNotSerialize] public ReadOnlyCollection<ValueInput> multiInputs { get; protected set; } protected override void Definition() { var _multiInputs = new List<ValueInput>(); multiInputs = _multiInputs.AsReadOnly(); for (var i = 0; i < inputCount; i++) { _multiInputs.Add(ValueInput<T>(i.ToString())); } } protected void InputsAllowNull() { foreach (var input in multiInputs) { input.AllowsNull(); } } } }