import type { IComponentRegistry } from '@esengine/ecs-framework'; import type { IRuntimeModule, IRuntimePlugin, ModuleManifest } from '@esengine/engine-core'; import { AudioSourceComponent } from './AudioSourceComponent'; class AudioRuntimeModule implements IRuntimeModule { registerComponents(registry: IComponentRegistry): void { registry.register(AudioSourceComponent); } } const manifest: ModuleManifest = { id: 'audio', name: '@esengine/audio', displayName: 'Audio', version: '1.0.0', description: '音频组件', category: 'Audio', isCore: false, defaultEnabled: true, isEngineModule: true, dependencies: ['core', 'asset-system'], exports: { components: ['AudioSourceComponent'] } }; export const AudioPlugin: IRuntimePlugin = { manifest, runtimeModule: new AudioRuntimeModule() };