logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Class UnitySequencePlayerService

    Unity-specific minimal sequence player service implementation. Provides generic orchestration: iterates through stages in order and awaits completion.
    This is a MINIMAL orchestration engine:

    • Does NOT handle timing, duration, waits, or delays
    • Does NOT handle fades, overlays, or visual effects
    • Does NOT handle timeline playback or Unity Playables
    • Does NOT handle rig instantiation or character prefabs
      Cinematic execution logic (fades, timelines, durations) belongs in vertical aggregates like CutscenePlayer's UnityCutscenePlayerService.
    Inheritance
    object
    UnitySequencePlayerService
    Implements
    ISequencePlayerService
    IService
    IFoundationSettings
    Namespace: Serenity.SequencePlayer.Infrastructure.Services
    Assembly: Serenity.UnitySequencePlayer.Infrastructure.dll
    Syntax
    public class UnitySequencePlayerService : MonoBehaviour, ISequencePlayerService, IService, IFoundationSettings

    Constructors

    UnitySequencePlayerService()

    Declaration
    public UnitySequencePlayerService()

    Properties

    Guid

    Declaration
    public string Guid { get; set; }
    Property Value
    Type Description
    string

    Id

    Declaration
    public string Id { get; set; }
    Property Value
    Type Description
    string

    LogService

    Declaration
    public ILogService LogService { get; set; }
    Property Value
    Type Description
    ILogService

    Methods

    ExecuteStageAsync(ISequenceStage, CancellationToken)

    Executes a single stage. Override in derived classes for custom execution logic. Default implementation logs the stage and completes immediately (no-op).
    Vertical aggregates (e.g., CutscenePlayer) should implement their own service with full execution logic for their stage types.

    Declaration
    protected virtual Task ExecuteStageAsync(ISequenceStage stage, CancellationToken ct)
    Parameters
    Type Name Description
    ISequenceStage stage
    CancellationToken ct
    Returns
    Type Description
    Task

    Initialize(ILogService)

    Initializes the sequence player service with logging dependency.

    Declaration
    public void Initialize(ILogService logService)
    Parameters
    Type Name Description
    ILogService logService

    PlayAsync(ISequenceDefinition, CancellationToken)

    Plays a sequence asynchronously using a sequence definition interface.

    Declaration
    public Task PlayAsync(ISequenceDefinition definition, CancellationToken cancellationToken = default)
    Parameters
    Type Name Description
    ISequenceDefinition definition
    CancellationToken cancellationToken
    Returns
    Type Description
    Task

    PlayAsync(string, CancellationToken)

    Plays a sequence asynchronously by key identifier.

    Declaration
    public Task PlayAsync(string sequenceKey, CancellationToken cancellationToken = default)
    Parameters
    Type Name Description
    string sequenceKey
    CancellationToken cancellationToken
    Returns
    Type Description
    Task

    SetAdaptedDefinitions(ISequenceDefinition[])

    Sets adapted sequence definitions from ISequenceDefinition array.

    Declaration
    public void SetAdaptedDefinitions(ISequenceDefinition[] defs)
    Parameters
    Type Name Description
    ISequenceDefinition[] defs
    Remarks

    Used by external factories for backward compatibility.

    SetDefinitions(UnitySequenceDefinition[])

    Sets sequence definitions array.

    Declaration
    public void SetDefinitions(UnitySequenceDefinition[] defs)
    Parameters
    Type Name Description
    UnitySequenceDefinition[] defs

    Implements

    ISequencePlayerService
    IService
    IFoundationSettings
    In this article
    © 2026 Serenity. All Rights Reserved