Files
esengine/packages/physics-rapier2d/src/Physics2DComponentsModule.ts

51 lines
1.7 KiB
TypeScript
Raw Normal View History

/**
* Physics 2D Components Module (Lightweight)
* 2D
*
* WASM
* /
*/
import { ComponentRegistry } from '@esengine/ecs-framework';
import type { IRuntimeModule } from '@esengine/engine-core';
// Components (no WASM dependency)
import { Rigidbody2DComponent } from './components/Rigidbody2DComponent';
import { BoxCollider2DComponent } from './components/BoxCollider2DComponent';
import { CircleCollider2DComponent } from './components/CircleCollider2DComponent';
import { CapsuleCollider2DComponent } from './components/CapsuleCollider2DComponent';
import { PolygonCollider2DComponent } from './components/PolygonCollider2DComponent';
/**
* Physics 2D Components Module (Lightweight)
* 2D
*
* WASM
*
*/
export class Physics2DComponentsModule implements IRuntimeModule {
/**
* ComponentRegistry
*/
registerComponents(registry: typeof ComponentRegistry): void {
registry.register(Rigidbody2DComponent);
registry.register(BoxCollider2DComponent);
registry.register(CircleCollider2DComponent);
registry.register(CapsuleCollider2DComponent);
registry.register(PolygonCollider2DComponent);
}
/**
*
*/
createSystems(): void {
// No-op: Systems are created by the full runtime module
}
}
/**
*
*/
export const physics2DComponentsModule = new Physics2DComponentsModule();
export default physics2DComponentsModule;