public readonly record struct MoveQueryThe question the selector answers.
Remarks
A value, so building one costs nothing and comparing two is comparing a few words. The selection pass only has to run when the question changes, and that test is this type's equality — which is why it is a record struct and why Preferred is a memory rather than an array.
⚠ Required is the only hard filter, and it should be used sparingly. Everything expressed as a requirement is a way for the query to return nothing; everything expressed as a preference degrades instead. "The best walk, given that I am injured and on ice" wants role=loop required and the rest preferred, so a set with no injured ice-walk finds the injured walk, and one with neither finds the walk.
Fields and properties (5)
public FacetSet RequiredWhat a candidate must say to be considered at all.
public WeightedFacet[]? PreferredWhat a candidate is rewarded for saying.
public MoveTargets NumericWhat the body wants to be doing.
public MoveKey PreviousWhat is playing, so the same move is not immediately chosen again.
public float RepeatPenaltyHow much choosing Previous again counts against it.
Methods (1)
public MoveQuery()Creates an empty query.
Used by (16)
- MoveSelectionBenchmarksVixen.Benchmarks.Animation
- AlphabeticalTestScorerVixen.Animation.Tests
- AuthoringTestsVixen.Animation.Tests
- DefaultMoveScorerVixen.Animation
- IMoveScorerVixen.Animation
- IMoveSelectorVixen.Animation
- MoveCoverageVixen.Animation
- MoveExplanationsVixen.Animation
- MoveSetMotionVixen.Animation
- MoveSetTestsVixen.Animation.Tests
- MoveTransitionTestsVixen.Animation.Tests
- QueryMoveSelectorVixen.Animation
- SeamTestsVixen.Animation.Tests
- TableTestSelectorVixen.Animation.Tests
- MoveQueryTextVixen.Editor.AssetEditors
- MoveSetTestsVixen.Editor.AssetEditors.Tests