diff --git a/src/app/App.tsx b/src/app/App.tsx index 5b67a82a..8f1907b1 100644 --- a/src/app/App.tsx +++ b/src/app/App.tsx @@ -4698,6 +4698,27 @@ export function App({ store, initialStatusMessage }: AppProps) { ); }; + const handleAddProjectSequenceSceneTransitionStep = ( + sequenceId: string, + targetKey: string + ) => { + const target = readSceneTransitionTargetKey(targetKey); + + updateProjectSequence( + sequenceId, + "Add project sequence scene transition effect", + "Added scene transition effect.", + (sequence) => { + sequence.effects.push({ + stepClass: "impulse", + type: "startSceneTransition", + targetSceneId: target.targetSceneId, + targetEntryEntityId: target.targetEntryEntityId + }); + } + ); + }; + const handleAddProjectSequenceVisibilityStep = ( sequenceId: string, targetKey: string @@ -5008,6 +5029,31 @@ export function App({ store, initialStatusMessage }: AppProps) { ); }; + const updateProjectSequenceSceneTransitionStepTarget = ( + sequenceId: string, + stepIndex: number, + targetKey: string + ) => { + const target = readSceneTransitionTargetKey(targetKey); + + updateProjectSequenceStep( + sequenceId, + stepIndex, + "Set project sequence scene transition target", + "Updated scene transition target.", + (step) => { + if (step.type !== "startSceneTransition") { + throw new Error( + "Only scene transition effects expose a scene transition target." + ); + } + + step.targetSceneId = target.targetSceneId; + step.targetEntryEntityId = target.targetEntryEntityId; + } + ); + }; + const updateProjectSequenceVisibilityStepTarget = ( sequenceId: string, stepIndex: number,