public sealed class MoveSetContentA move set as a project authors it: a table, plus the sets it overlays.
Remarks
A table, because a move set is a table. Rows are entries and columns are facets, with no containment between rows and no container per style — which is the whole of D1's argument, restated as a file format.
⚠ The overlay is a list of set addresses and it composes at bake. An injured set is three clips over a hundred, and the entries it does not name come from the set underneath; resolving that at load rather than at bake would put a lookup chain in the selector's inner loop, which is the one place in this whole subsystem that has a microsecond budget.
Fields and properties (7)
public const string ExtensionThe extension a project writes these under.
public const int CurrentThe version this reader and writer speak.
public int VersionWhich version of the format this file is.
public string NameWhat the set is called.
public List<string> BasesThe sets this one overlays, by asset address, base first.
public List<MoveEntryRecord> EntriesThe rows.
public List<TransitionRuleRecord> RulesThe transition rules, in the order they are tried. First match wins.
Methods (3)
public MoveSet Bake(Func<string, Motion?> motions, IEnumerable<MoveSet>? bases = null, ICollection<string>? unresolved = null)What the runtime reads.
public MoveSet Preview(IEnumerable<MoveSet>? bases = null)Every row, baked against nothing, for asking questions about the table.
public RuleTransitionPolicy Policy(Skeleton? skeleton = null)The transition policy this set declares.
Used by (11)
- LoadPathTestsVixen.Animation.Tests
- MoveSetCacheVixen.Animation
- TypeRegistrationVixen.Animation
- Vixen_Animation_Moves_MoveSetContentSerializerVixen.Animation
- AnimationBinderVixen.Editor.AssetEditors
- AnimationWiringTestsVixen.Editor.App.Tests
- MoveSetDocumentVixen.Editor.AssetEditors
- MoveSetImporterVixen.Editor.Assets
- MoveSetImporterTestsVixen.Editor.Assets.Tests
- MoveSetTestsVixen.Editor.AssetEditors.Tests
- MoveSetViewVixen.Editor.AssetEditors