docs: queue dialogue

This commit is contained in:
Tom Boullay
2026-05-11 09:43:40 +02:00
parent 8cbf696b6e
commit a34396b958
2 changed files with 94 additions and 3 deletions
+6 -2
View File
@@ -2,7 +2,10 @@ import { useEffect, useRef, useState } from "react";
import { useFrame } from "@react-three/fiber";
import type { DialogueManifest } from "@/types/dialogues/dialogues";
import { loadDialogueManifest } from "@/utils/dialogues/loadDialogueManifest";
import { playDialogueById } from "@/utils/dialogues/playDialogue";
import {
clearQueuedDialogues,
queueDialogueById,
} from "@/utils/dialogues/playDialogue";
import { logger } from "@/utils/core/logger";
export function GameDialogues(): null {
@@ -26,6 +29,7 @@ export function GameDialogues(): null {
return () => {
mounted = false;
clearQueuedDialogues();
activeAudios.forEach((audio) => audio.pause());
activeAudios.clear();
};
@@ -43,7 +47,7 @@ export function GameDialogues(): null {
playedDialoguesRef.current.add(dialogue.id);
void playDialogueById(manifest, dialogue.id).then((audio) => {
void queueDialogueById(manifest, dialogue.id).then((audio) => {
if (!audio) return;
activeAudiosRef.current.add(audio);
audio.addEventListener(