No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

InputSystemWidget.cs 1.9KB

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