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

Function initializeEngine

packages/editor-app/src/hooks/useEngine.ts:63–90  ·  view source on GitHub ↗

* Initialize engine once at module level * 在模块级别初始化引擎一次

(canvasId: string)

Source from the content-addressed store, hash-verified

61 * 在模块级别初始化引擎一次
62 */
63async function initializeEngine(canvasId: string): Promise<void> {
64 if (engineInitialized || engineInitializing) {
65 return;
66 }
67
68 engineInitializing = true;
69
70 try {
71 const engine = EngineService.getInstance();
72 await engine.initialize(canvasId);
73
74 // Initialize sync service
75 // 初始化同步服务
76 try {
77 const messageHub = Core.services.resolve(MessageHub);
78 const entityStore = Core.services.resolve(EntityStoreService);
79 if (messageHub && entityStore) {
80 EditorEngineSync.getInstance().initialize(messageHub, entityStore);
81 }
82 } catch (syncError) {
83 console.warn('Failed to initialize sync service | 同步服务初始化失败:', syncError);
84 }
85
86 engineInitialized = true;
87 } finally {
88 engineInitializing = false;
89 }
90}
91
92/**
93 * Hook for managing engine lifecycle in React components.

Callers 1

initFunction · 0.85

Calls 4

initializeMethod · 0.65
resolveMethod · 0.65
getInstanceMethod · 0.45
warnMethod · 0.45

Tested by

no test coverage detected