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;
/// <summary>
/// The name of the variable.
/// </summary>
[DoNotSerialize]
[PortLabelHidden]
public ValueInput name { get; private set; }
protected abstract VariableDeclarations GetDeclarations(Flow flow);
protected override void Definition()
{
name = ValueInput(nameof(name), defaultName);
}
}
}