Vixen
02b45cc4
csharp
public static class InputProcessorFactory

Turns the processor names in a .vxinput into processors, and back.

No guide page documents this yet — the page shows what the code says about itself.

Remarks

A table rather than an assembly scan, for the reason Vixen.Editor.Assets.BuiltInImporters gives about importers: a scan reads metadata a trimmed publish has already deleted, and would make "which processors does this build have" a question with a different answer in the editor and in the player. A game adds its own with Register at boot.

The syntax is name(arg=value,arg=value), semicolon-separated — stickDeadzone(min=0.2);invert(y=true). Arguments are named rather than positional because a binding that reads clamp(0,1) tells a reviewer nothing about which is which.

Methods (4)

  • public static void Register(string name, Func<ProcessorArguments, IInputProcessor> factory)

    Adds a processor this build understands.

  • public static bool IsKnown(string name)

    Whether a name is one this build has.

  • public static IReadOnlyList<IInputProcessor> Parse(string? text, Action<string>? unknown = null)

    Reads a processor list.

  • public static Vector2 Apply(IReadOnlyList<IInputProcessor> processors, Vector2 value, int dimensions)

    Applies a list of processors in order.

Used by (2)

  • InputBindingVixen.Input
  • InputBindingPartVixen.Input