using System; namespace Unity.VisualScripting { [SpecialUnit] [Obsolete("Use the new unified variable nodes instead.")] public abstract class VariableUnit : Unit, IVariableUnit { protected VariableUnit() : base() { } protected VariableUnit(string defaultName) { Ensure.That(nameof(defaultName)).IsNotNull(defaultName); this.defaultName = defaultName; } [DoNotSerialize] public string defaultName { get; } = string.Empty; /// /// The name of the variable. /// [DoNotSerialize] [PortLabelHidden] public ValueInput name { get; private set; } protected abstract VariableDeclarations GetDeclarations(Flow flow); protected override void Definition() { name = ValueInput(nameof(name), defaultName); } } }