UNPKG

yukinovel

Version:

Yukinovel is a simple web visual novel engine.

65 lines (64 loc) 2.44 kB
import { GameScript, GameState, GameEventHandler, Scene, DialogueEntry, Choice, Plugin } from '../types/index.js'; import { AudioManager } from './AudioManager.js'; import { SaveManager } from './SaveManager.js'; import { UIRenderer } from './UIRenderer.js'; import { LanguageManager } from './LanguageManager.js'; import { PluginManager } from './PluginManager.js'; export declare class Game { private script; private state; private container; private audioManager; private saveManager; private uiRenderer; private languageManager; private pluginManager; private eventHandlers; private currentSceneDialogueHistory; private globalDialogueHistory; private isGameStarted; constructor(script: GameScript); mount(selector: string): void; private initialize; startScene(sceneId: string, fadeOptions?: { backgroundFade?: boolean; backgroundAnimation?: any; }): Promise<void>; private showDialogue; next(): Promise<void>; makeChoice(choice: Choice): Promise<void>; private handleAction; saveGame(slot?: number): Promise<void>; loadGame(slot?: number): Promise<void>; showMainMenu(): Promise<void>; startNewGame(): Promise<void>; continueGame(): Promise<void>; on(event: string, handler: GameEventHandler): void; private emit; getCurrentScene(): Scene | undefined; getCurrentSceneDialogueHistory(): DialogueEntry[]; getGlobalDialogueHistory(): Array<{ dialogue: DialogueEntry; sceneId: string; timestamp: Date; }>; getSceneById(sceneId: string): Scene | undefined; getState(): GameState; getScript(): GameScript; getLanguageManager(): LanguageManager; getCurrentLanguage(): string; setLanguage(languageCode: string): Promise<void>; getAvailableLanguages(): import("../types/index.js").LanguageConfig[]; getText(key: string, fallback?: string): string; getAudioManager(): AudioManager; getUIRenderer(): UIRenderer; getSaveManager(): SaveManager; getConfirmModal(): import("./ui/ConfirmModal.js").ConfirmModal; getPluginManager(): PluginManager; registerPlugin(plugin: Plugin): Promise<void>; unregisterPlugin(pluginName: string): Promise<void>; getPlugin(name: string): any; getPluginAPI(name: string): any; hasPlugin(name: string): boolean; emitCustomEvent(eventName: string, data?: any): Promise<void>; }