Vixen
02b45cc4
csharp
public sealed class SequenceDocument

A cinematic, open for editing.

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

Remarks

⚠ The scene it drives is supplied, not opened. A sequence is authored against a level that is already open — which is why doc 20's exit criterion is "a cinematic can be authored, scrubbed and played" rather than "a sequence file can be edited". A document that opened its own scene would put a second world beside the one the viewport is drawing and the playhead would move actors nobody could see.

⚠ A sequence with no scene is still editable. Opening one from the browser before the level it belongs to gives a document whose tracks can be renamed, reordered and retimed, and whose Player is null — scrubbing says there is nothing to drive rather than doing nothing.

Fields and properties (7)

  • public const string Extension

    What a sequence is written as.

  • public string AssetPath

    Where the file is, absolute.

  • public SequenceAsset Sequence

    The sequence.

  • public string? LoadError

    Why the file would not read, or .

  • public SequencePlayer? Player

    What drives the scene, or until one is attached.

  • public const float MinimumDuration

    The shortest a sequence may be, in seconds.

  • public const float Epsilon

    How close two keys have to be before one replaces the other.

Events (1)

  • public Action<SequenceDocument>? Changed

    Raised after anything changes the sequence.

Methods (12)

  • public SequenceDocument(EditorProject project, AssetId asset, string path)

    Opens a sequence.

  • public void Attach(SceneDocument? scene)

    Points the sequence at a scene, so the playhead has something to move.

  • public void AddTrack(SequenceTrackData track)

    Adds a track, undoably.

  • public bool RemoveTrack(SequenceTrackData track)

    Removes a track, undoably.

  • public void AddKey(SequenceTrackData track, SequenceKeyData key)

    Adds a key to a track, undoably.

  • public bool RemoveKey(SequenceTrackData track, SequenceKeyData key)

    Removes a key, undoably.

  • public void MoveKey(SequenceTrackData track, SequenceKeyData key, float time)

    Moves a key, undoably.

  • public void SetDuration(float duration)

    Changes how long the sequence runs, undoably.

  • public void SetMuted(SequenceTrackData track, bool muted)

    Turns a track on or off, undoably.

  • public string ToYaml()

    The sequence as it would be written, without writing it.

  • protected override void SaveCore()

    Writes the document back to wherever it came from.

  • protected override void OnClosed()

    Called once when the document leaves the project.

Used by (4)

  • AuthoringTestsVixen.Editor.AssetEditors.Tests
  • MilestoneE5TestsVixen.Editor.App.Tests
  • SequenceEditorFactoryVixen.Editor.AssetEditors
  • SequenceViewVixen.Editor.AssetEditors