Namespace Serenity.CutscenePlayer.Installation.Settings.Editor.Builder
Classes
CreateCutsceneWindow
Step-by-step window for creating or updating a cutscene: pick a stage template (or type an existing cutscene's Id to open it, seeded with its stages and rig), edit the stages, choose a rig, opt into a no-code play trigger, then create — or update the existing cutscene in place (CutsceneInPlaceUpdater). The stepped-wizard scaffolding — the titled header and breadcrumb, the body scroll, the footer and its error gate, and the select-and-ping a finished run ends with — comes from Serenity.Global.Infrastructure.Editor.SerenityStepWizardWindow`1; this window declares only its own step table and what the primary action does. The window only collects input; CutsceneCreator does the asset/script work (and registers the new definition into the player settings).
CutsceneCreator
Builds a cutscene from a single description: a UnityCutsceneDefinition with its stages and
(optionally) a freshly-created rig prefab, registered into the project's
UnityCutscenePlayerSettings, plus an optional no-code play trigger (a Signal+Action script).
Separation of concerns (mirrors ModalCreator / GameSettingCreator):
CreateCutsceneWindow only collects input; every file/asset mutation lives here, with
rollback on failure so a failed run leaves the project untouched.
CutsceneCreator.Input
Everything needed to create one cutscene.
CutsceneCreator.Result
Outcome of a Create(Input) call.
CutsceneCreator.StageInput
One authored stage (the window's editable row).
CutsceneInPlaceUpdater
Writes the Cutscene Wizard's stages and rig back onto a cutscene that already exists, inside one Serenity.Global.Infrastructure.Editor.SerenityAssetCreationTransaction: a failed run restores the cutscene and deletes whatever it created, and a run that changes nothing leaves the file untouched. The cutscene keeps its Id, its file and its folder, so the play triggers and boot tasks that play it by Id keep working without being regenerated.
CutscenePresetLibrary
Curated starting stage layouts for the Cutscene Wizard, so a cutscene is never authored from a blank list.
Mirrors GameSettingPresetLibrary in spirit. Each preset only seeds the stage list — the user can
freely edit it afterwards.
CutscenePresetLibrary.Preset
A named starting point that builds an editable stage list.
CutsceneTriggerScriptCreator
Generates a no-code "play this cutscene" trigger: a {Name}ActionSignal paired with an
[AutoRegisterEventAction] {Name}Action whose Execute resolves ICutscenePlayerService
from the ServiceLocatorBridge and plays the cutscene by id (the service is already registered in the
locator by UnitySerenityInstaller.InstallCutscenePlayer). A designer then fires the generated signal
with the existing no-code SignalEmitterComponent — no hand-written code anywhere.
Thin wrapper over Serenity.UnityGlobal.Infrastructure.Editor.EventDispatcherActionScriptGenerator.CreateActionScript(System.String,System.String,System.String,System.String[],System.String[],System.Boolean) (the same
generator the Modal Builder uses), supplying a cutscene-specific Execute body.
Enums
CreateCutsceneWindow.WizardStep
Public rather than private because C# requires a class's base type to be at least as accessible as the class itself, and this enum is that base type's argument.
CutsceneCreator.RigMode
How the cutscene's rig prefab is provided.
CutsceneTriggerScriptCreator.TriggerKind
How the generated trigger drives the cutscene.