A game about forced loneliness, made by TACStudios
1using System; 2 3namespace Unity.VisualScripting 4{ 5 [Descriptor(typeof(IUnitPort))] 6 public sealed class UnitPortDescriptor : IDescriptor 7 { 8 public UnitPortDescriptor(IUnitPort target) 9 { 10 Ensure.That(nameof(target)).IsNotNull(target); 11 12 this.target = target; 13 14 description.portType = target; 15 } 16 17 public IUnitPort target { get; } 18 19 object IDescriptor.target => target; 20 21 public UnitPortDescription description { get; private set; } = new UnitPortDescription(); 22 23 IDescription IDescriptor.description => description; 24 25 public bool isDirty { get; set; } = true; 26 27 public void Validate() 28 { 29 if (isDirty) 30 { 31 isDirty = false; 32 33 description.fallbackLabel = target.key.Filter(symbols: false, punctuation: false).Prettify(); 34 35 description.portType = target; 36 37 target.unit?.Descriptor<IUnitDescriptor>().DescribePort(target, description); 38 39 // No DescriptionAssignment is run, so we'll just always assume that the description changes. 40 DescriptorProvider.instance.TriggerDescriptionChange(target); 41 } 42 } 43 } 44}