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
UnitySequencePlayerService
Assembly: Serenity.UnitySequencePlayer.Infrastructure.dll
Syntax
public class UnitySequencePlayerService : MonoBehaviour, ISequencePlayerService, IService, IFoundationSettings
Constructors
UnitySequencePlayerService()
Declaration
public UnitySequencePlayerService()
Fields
_adaptedDefinitions
Declaration
protected List<ISequenceDefinition> _adaptedDefinitions
Field Value
_guid
Declaration
Field Value
_id
Declaration
Field Value
_logService
Declaration
protected ILogService _logService
Field Value
sequenceDefinitions
Declaration
protected UnitySequenceDefinition[] sequenceDefinitions
Field Value
Properties
Guid
Declaration
public string Guid { get; set; }
Property Value
Id
Declaration
public string Id { get; set; }
Property Value
LogService
Declaration
public ILogService LogService { get; set; }
Property Value
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
Returns
Initialize(ILogService)
Initializes the sequence player service with logging dependency.
Declaration
public virtual void Initialize(ILogService logService)
Parameters
PlayAsync(ISequenceDefinition, CancellationToken)
Plays a sequence asynchronously using a sequence definition interface.
Declaration
public virtual Task PlayAsync(ISequenceDefinition definition, CancellationToken cancellationToken = default)
Parameters
Returns
PlayAsync(string, CancellationToken)
Plays a sequence asynchronously by key identifier.
Declaration
public virtual Task PlayAsync(string sequenceKey, CancellationToken cancellationToken = default)
Parameters
Returns
SetAdaptedDefinitions(ISequenceDefinition[])
Sets adapted sequence definitions from ISequenceDefinition array.
Declaration
public void SetAdaptedDefinitions(ISequenceDefinition[] defs)
Parameters
Implements