MCPcopy Create free account
hub / github.com/esengine/esengine / install

Method install

packages/tilemap-editor/src/index.ts:67–121  ·  view source on GitHub ↗
(services: ServiceContainer)

Source from the content-addressed store, hash-verified

65 private unsubscribers: Array<() => void> = [];
66
67 async install(services: ServiceContainer): Promise<void> {
68 // 注册检视器提供者 | Register inspector provider
69 const inspectorRegistry = services.resolve(InspectorRegistry);
70 if (inspectorRegistry) {
71 inspectorRegistry.register(new TilemapInspectorProvider());
72 }
73
74 // 注册组件到编辑器组件注册表 | Register to editor component registry
75 const componentRegistry = services.resolve(EditorComponentRegistry);
76 if (componentRegistry) {
77 componentRegistry.register({
78 name: 'Tilemap',
79 type: TilemapComponent,
80 category: 'components.category.tilemap',
81 description: 'Tilemap component for tile-based levels',
82 icon: 'Grid3X3'
83 });
84
85 componentRegistry.register({
86 name: 'TilemapCollider2D',
87 type: TilemapCollider2DComponent,
88 category: 'components.category.physics',
89 description: 'Generates physics colliders from tilemap collision data',
90 icon: 'Shield'
91 });
92 }
93
94 // 订阅 tilemap:create-asset 消息 | Subscribe to tilemap:create-asset message
95 const messageHub = services.resolve(MessageHub);
96 if (messageHub) {
97 const unsubscribe = messageHub.subscribe('tilemap:create-asset', async (payload: {
98 entityId?: string;
99 onChange?: (value: string | null) => void;
100 }) => {
101 await this.handleCreateTilemapAsset(services, payload);
102 });
103 this.unsubscribers.push(unsubscribe);
104 }
105
106 // 注册资产创建消息映射 | Register asset creation message mappings
107 const fileActionRegistry = services.resolve(FileActionRegistry);
108 if (fileActionRegistry) {
109 fileActionRegistry.registerAssetCreationMapping({
110 extension: '.tilemap',
111 createMessage: 'tilemap:create-asset'
112 });
113 fileActionRegistry.registerAssetCreationMapping({
114 extension: '.tileset',
115 createMessage: 'tileset:create-asset'
116 });
117 }
118
119 // 注册 Tilemap Gizmo | Register Tilemap gizmo
120 registerTilemapGizmo();
121 }
122
123 async uninstall(): Promise<void> {
124 // 清理订阅 | Clean up subscriptions

Callers

nothing calls this directly

Calls 7

registerTilemapGizmoFunction · 0.90
resolveMethod · 0.65
registerMethod · 0.65
subscribeMethod · 0.65
pushMethod · 0.65

Tested by

no test coverage detected