Add loop property to play animation interaction links and update migration script

This commit is contained in:
2026-04-01 04:06:12 +02:00
parent 5ae42b77a4
commit b635081d62
2 changed files with 25 additions and 3 deletions

View File

@@ -1806,7 +1806,8 @@ export function App({ store, initialStatusMessage }: AppProps) {
sourceEntityId: link.sourceEntityId,
trigger: link.trigger,
targetModelInstanceId,
clipName: link.action.clipName
clipName: link.action.clipName,
loop: link.action.loop
}),
"Updated play animation link target."
);
@@ -1836,12 +1837,32 @@ export function App({ store, initialStatusMessage }: AppProps) {
sourceEntityId: link.sourceEntityId,
trigger: link.trigger,
targetModelInstanceId: link.action.targetModelInstanceId,
clipName
clipName,
loop: link.action.loop
}),
"Updated play animation clip."
);
};
const updatePlayAnimationLinkLoop = (link: InteractionLink, loop: boolean) => {
if (link.action.type !== "playAnimation") {
return;
}
commitInteractionLinkChange(
link,
createPlayAnimationInteractionLink({
id: link.id,
sourceEntityId: link.sourceEntityId,
trigger: link.trigger,
targetModelInstanceId: link.action.targetModelInstanceId,
clipName: link.action.clipName,
loop
}),
"Updated play animation loop setting."
);
};
const handleAddPlayAnimationLink = (sourceEntity: InteractionSourceEntity) => {
const firstInstance = modelInstanceDisplayList[0];

View File

@@ -904,7 +904,8 @@ function readInteractionLink(value: unknown, label: string): InteractionLink {
sourceEntityId: expectString(value.sourceEntityId, `${label}.sourceEntityId`),
trigger,
targetModelInstanceId: action.targetModelInstanceId,
clipName: action.clipName
clipName: action.clipName,
loop: action.loop
});
case "stopAnimation":
return createStopAnimationInteractionLink({