namespace Unity.VisualScripting { [Descriptor(typeof(Expose))] public class ExposeDescriptor : UnitDescriptor { public ExposeDescriptor(Expose unit) : base(unit) { } protected override string DefinedTitle() { return $"Expose {unit.type.DisplayName()}"; } protected override string DefinedSurtitle() { return "Expose"; } protected override string DefinedShortTitle() { return unit.type.DisplayName(); } protected override EditorTexture DefinedIcon() { return unit.type.Icon(); } protected override void DefinedPort(IUnitPort port, UnitPortDescription description) { base.DefinedPort(port, description); if (port is ValueOutput && unit.members.TryGetValue((ValueOutput)port, out Member member)) { description.label = member.info.HumanName(); description.summary = member.info.Summary(); } } } }