UNPKG

vlibras-player-nextjs

Version:

VLibras Player para Next.js - Biblioteca moderna para tradução de texto em Libras com callbacks de estado

63 lines (62 loc) 2.02 kB
import type { UnityDebugInfo } from '../types'; /** * Utilitário para gerenciamento de estado do Unity WebGL * Resolve problemas de detecção de carregamento e estado de animação */ export interface UnityInstance { Module?: { ready?: boolean; canvas?: HTMLCanvasElement; isAnimationPlaying?: () => boolean; isAnimationComplete?: () => boolean; }; SendMessage?: (gameObject: string, methodName: string, value?: any) => void; } declare global { interface Window { unityInstance?: UnityInstance; unityInstances?: Map<string, UnityInstance>; } } export declare class UnityStateManager { /** * Verifica se o Unity WebGL carregou completamente */ static isUnityReady(container: HTMLElement): boolean; /** * Verifica se uma animação está sendo reproduzida */ static isAnimationPlaying(container?: HTMLElement): boolean; /** * Verifica se uma animação foi completada */ static isAnimationComplete(container?: HTMLElement): boolean; /** * Aguarda o Unity estar completamente carregado */ static waitForUnity(container: HTMLElement, timeout?: number): Promise<void>; /** * Aguarda uma animação terminar completamente */ static waitForAnimationEnd(container?: HTMLElement, timeout?: number): Promise<void>; /** * Obtém a instância do Unity para um container específico */ private static getUnityInstance; /** * Registra uma instância do Unity para um container específico */ static registerUnityInstance(containerId: string, instance: UnityInstance): void; /** * Remove registro de uma instância do Unity */ static unregisterUnityInstance(containerId: string): void; /** * Limpa todas as instâncias registradas */ static clearAllInstances(): void; /** * Obtém informações de debug do estado atual */ static getDebugInfo(container?: HTMLElement): UnityDebugInfo; }