Add StartSceneTransitionSequenceEffect to project-sequence-steps.ts

This commit is contained in:
2026-04-15 03:42:16 +02:00
parent dcb18f01ed
commit 7fd9c6f775

View File

@@ -33,6 +33,13 @@ export interface TeleportPlayerSequenceEffect {
targetEntityId: string;
}
export interface StartSceneTransitionSequenceEffect {
stepClass: "impulse";
type: "startSceneTransition";
targetSceneId: string;
targetEntryEntityId: string;
}
export const SEQUENCE_VISIBILITY_MODES = ["toggle", "show", "hide"] as const;
export type SequenceVisibilityMode = (typeof SEQUENCE_VISIBILITY_MODES)[number];
@@ -72,6 +79,7 @@ export type ImpulseSequenceStep =
| ImpulseControlSequenceEffect
| StartDialogueSequenceEffect
| TeleportPlayerSequenceEffect
| StartSceneTransitionSequenceEffect
| SetVisibilitySequenceEffect;
export type SequenceEffect = HeldSequenceStep | ImpulseSequenceStep;
@@ -98,6 +106,13 @@ export function cloneSequenceEffect(effect: SequenceEffect): SequenceEffect {
type: "teleportPlayer",
targetEntityId: effect.targetEntityId
};
case "startSceneTransition":
return {
stepClass: "impulse",
type: "startSceneTransition",
targetSceneId: effect.targetSceneId,
targetEntryEntityId: effect.targetEntryEntityId
};
case "setVisibility":
return {
stepClass: "impulse",
@@ -145,6 +160,8 @@ export function getSequenceEffectLabel(effect: SequenceEffect): string {
return "Impulse: Start Dialogue";
case "teleportPlayer":
return "Impulse: Teleport Player";
case "startSceneTransition":
return "Impulse: Change Scene";
case "setVisibility":
switch (effect.mode) {
case "show":