namespace Unity.VisualScripting { public abstract class UnitPortDefinition : IUnitPortDefinition { [Serialize, Inspectable, InspectorDelayed] [WarnBeforeEditing("Edit Port Key", "Changing the key of this definition will break any existing connection to this port. Are you sure you want to continue?", null, "")] public string key { get; set; } [Serialize, Inspectable] public string label { get; set; } [Serialize, Inspectable, InspectorTextArea] public string summary { get; set; } [Serialize, Inspectable] public bool hideLabel { get; set; } [DoNotSerialize] public virtual bool isValid => !string.IsNullOrEmpty(key); } }