Vixen
02b45cc4
csharp
public abstract class VxInputNode

One node of a parsed .vxinput document.

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

Remarks

Why this exists next to Vixen.Core.Yaml. The action asset is read twice — once at run time, and once inside the compiler by Vixen.Input.Generators so that Input.Player.Move is a real member. A source generator runs on netstandard2.1 and cannot reference a net10.0 assembly, and an analyzer's ProjectReference dependencies do not travel to the analyzer path, so Vixen.Core.Yaml — which is net10.0 and carries a NuGet dependency of its own — cannot be the reader on that side.

The alternative to this file is two readers that must agree, which is the failure mode where a binding compiles into an accessor the runtime then declines to resolve. So the whole of Assets/ is written against nothing but the BCL and is compiled into the generator by source link: one reader, two language surfaces, checked by the build.

The dialect is deliberately narrow — block mappings, block sequences and scalars, which is all [doc 08](../../../docs/plan/08-asset-pipeline-and-addressables.md)'s YAML dialect uses for a document of this shape. A .vxinput is therefore ordinary YAML that the asset database's own reader also understands, and the importer's reference scan keeps working over it unchanged.

Fields and properties (1)

  • public int Line

    The one-based line the node started on, for a diagnostic.

Used by (7)

  • InputActionAssetReaderVixen.Input
  • ReadStateVixen.Input
  • VxInputMappingVixen.Input
  • VxInputReaderVixen.Input
  • VxInputReaderTestsVixen.Input.Tests
  • VxInputScalarVixen.Input
  • VxInputSequenceVixen.Input