Namespace Serenity.SequencePlayer.Application.Interfaces
Interfaces
ISequenceDefinition
Defines a complete sequence of execution stages. Provides ordered collection of stages for orchestration.
ISequencePlayerService
Service for orchestrating and playing sequences of execution stages. Supports playback by key identifier or definition instance.
ISequencePlayerServiceFactory
Base factory contract for creating sequence player services.
Vertical aggregates (e.g., CutscenePlayer) extend this interface to provide domain-specific factory methods while preserving the generic creation surface.
ISequencePlayerSettings
Base settings contract for sequence player services. Provides access to the identifiers of available sequence definitions.
Vertical aggregates (e.g., CutscenePlayer) extend this interface to add domain-specific settings while preserving the generic sequence configuration surface.
ISequenceStage
Represents an execution stage in a sequence orchestration.
Stages are generic execution units executed sequentially by the sequence player.
NOTE: This interface is duration-agnostic. For timed stages, use ITimedSequenceStage.
ISequenceUnit
Base interface for any unit in a sequence. Generic orchestration contract without timing assumptions. Use ITimedSequenceUnit for units that require duration.
ITimedSequenceStage
Interface for sequence stages that have explicit duration (timed execution).
Used by vertical aggregates (e.g., CutscenePlayer) that require time-based orchestration.
SequencePlayer itself is duration-agnostic; this interface is consumed by vertical
aggregates that need timing information for stage execution.
ITimedSequenceUnit
Interface for sequence units that have a duration. Extends ISequenceUnit with timing information for timed orchestration.