yukinovel
Version:
Yukinovel is a simple web visual novel engine.
23 lines (22 loc) • 986 B
TypeScript
import { Plugin, PluginRegistry, PluginHookContext, PluginEventType, PluginMetadata } from '../types/index.js';
export declare class PluginManager {
private plugins;
private game;
private isInitialized;
constructor(game: any);
register(plugin: Plugin): Promise<void>;
unregister(pluginName: string): Promise<void>;
initialize(): Promise<void>;
executeHooks(eventType: PluginEventType, context: PluginHookContext): Promise<void>;
executeCustomHooks(eventName: string, context: PluginHookContext): Promise<void>;
getPlugin(name: string): Plugin | undefined;
getAllPlugins(): PluginRegistry;
getPluginAPI(name: string): any;
hasPlugin(name: string): boolean;
getPluginMetadata(name: string): PluginMetadata | undefined;
getPluginNames(): string[];
dispose(): Promise<void>;
private validatePlugin;
private checkDependencies;
createHookContext(additionalContext?: Partial<PluginHookContext>): PluginHookContext;
}