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

Function handleCloseProject

packages/editor-app/src/App.tsx:1004–1030  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

1002 };
1003
1004 const handleCloseProject = async () => {
1005 // 卸载项目插件
1006 if (pluginManager) {
1007 await pluginLoader.unloadProjectPlugins(pluginManager);
1008 }
1009
1010 // 清理场景(会清理所有实体和系统)
1011 // Clear scene (clears all entities and systems)
1012 const scene = Core.scene;
1013 if (scene) {
1014 scene.end();
1015 }
1016
1017 // 清理模块系统
1018 const engineService = EngineService.getInstance();
1019 engineService.clearModuleSystems();
1020
1021 // 关闭 ProjectService 中的项目
1022 const projectService = Core.services.tryResolve(ProjectService);
1023 if (projectService) {
1024 await projectService.closeProject();
1025 }
1026
1027 setProjectLoaded(false);
1028 setCurrentProjectPath(null);
1029 setStatus(t('header.status.ready'));
1030 };
1031
1032 const handleExit = () => {
1033 window.close();

Callers

nothing calls this directly

Calls 6

unloadProjectPluginsMethod · 0.80
clearModuleSystemsMethod · 0.80
closeProjectMethod · 0.80
endMethod · 0.45
getInstanceMethod · 0.45
tryResolveMethod · 0.45

Tested by

no test coverage detected