A game about forced loneliness, made by TACStudios
1#if PACKAGE_INPUT_SYSTEM_EXISTS 2using System; 3using JetBrains.Annotations; 4using Unity.VisualScripting.InputSystem; 5 6namespace Unity.VisualScripting 7{ 8 [Widget(typeof(OnInputSystemEvent)), UsedImplicitly] 9 public class InputSystemWidget : UnitWidget<OnInputSystemEvent> 10 { 11 public InputSystemWidget(FlowCanvas canvas, OnInputSystemEvent unit) : base(canvas, unit) 12 { 13 inputActionInspectorConstructor = metadata => new InputActionInspector(metadata, reference, unit); 14 } 15 16 protected override NodeColorMix baseColor => NodeColor.Green; 17 18 private InputActionInspector nameInspector; 19 20 private Func<Metadata, InputActionInspector> inputActionInspectorConstructor; 21 22 public override Inspector GetPortInspector(IUnitPort port, Metadata metadata) 23 { 24 if (port == unit.InputAction) 25 { 26 InspectorProvider.instance.Renew(ref nameInspector, metadata, inputActionInspectorConstructor); 27 return nameInspector; 28 } 29 30 return base.GetPortInspector(port, metadata); 31 } 32 } 33 34 [Descriptor(typeof(OnInputSystemEvent)), UsedImplicitly] 35 public class OnInputSystemButtonDescriptor : UnitDescriptor<OnInputSystemEvent> 36 { 37 public OnInputSystemButtonDescriptor(OnInputSystemEvent unit) : base(unit) {} 38 39 protected override void DefinedPort(IUnitPort port, UnitPortDescription description) 40 { 41 base.DefinedPort(port, description); 42 43 if (port == unit.Target) 44 description.summary = 45 "A player input component used to list available actions and find the referenced InputAction"; 46 if (port == unit.InputAction) 47 description.summary = 48 "An input action, either from the linked player input component or directly connected"; 49 } 50 } 51} 52#endif