A game about forced loneliness, made by TACStudios
1using System; 2 3namespace Unity.VisualScripting 4{ 5 [FuzzyOption(typeof(Expose))] 6 public class ExposeOption : UnitOption<Expose> 7 { 8 public ExposeOption() : base() { } 9 10 public ExposeOption(Expose unit) : base(unit) 11 { 12 sourceScriptGuids = UnitBase.GetScriptGuids(unit.type).ToHashSet(); 13 } 14 15 public Type exposedType { get; private set; } 16 17 protected override string FavoriteKey() 18 { 19 return $"{exposedType.FullName}@expose"; 20 } 21 22 protected override string Label(bool human) 23 { 24 return $"Expose {unit.type.SelectedName(human)}"; 25 } 26 27 protected override bool ShowValueOutputsInFooter() 28 { 29 return false; 30 } 31 32 protected override void FillFromUnit() 33 { 34 exposedType = unit.type; 35 36 base.FillFromUnit(); 37 } 38 39 public override void Deserialize(UnitOptionRow row) 40 { 41 base.Deserialize(row); 42 43 exposedType = Codebase.DeserializeType(row.tag1); 44 } 45 46 public override UnitOptionRow Serialize() 47 { 48 var row = base.Serialize(); 49 50 row.tag1 = Codebase.SerializeType(exposedType); 51 52 return row; 53 } 54 } 55}