feat: UI输入框IME支持和编辑器Inspector重构 (#310)

UI系统改进:
- 添加 IMEHelper 支持中文/日文/韩文输入法
- UIInputFieldComponent 添加组合输入状态管理
- UIInputSystem 添加 IME 事件处理
- UIInputFieldRenderSystem 优化渲染逻辑
- UIRenderCollector 增强纹理处理

引擎改进:
- EngineBridge 添加新的渲染接口
- EngineRenderSystem 优化渲染流程
- Rust 引擎添加新的渲染功能

编辑器改进:
- 新增模块化 Inspector 组件架构
- EntityRefField 增强实体引用选择
- 优化 FlexLayoutDock 和 SceneHierarchy 样式
- 添加国际化文本
This commit is contained in:
YHH
2025-12-19 15:45:14 +08:00
committed by GitHub
parent 536c4c5593
commit ecdb8f2021
46 changed files with 5825 additions and 257 deletions

View File

@@ -21,7 +21,7 @@ import {
type IPlugin,
type IRuntimeSceneManager
} from '@esengine/runtime-core';
import { isValidGUID, type IAssetManager } from '@esengine/asset-system';
import { isValidGUID, setGlobalAssetFileLoader, type IAssetManager, type IAssetFileLoader } from '@esengine/asset-system';
import { BrowserAssetReader } from './BrowserAssetReader';
import { WebInputSubsystem } from './subsystems/WebInputSubsystem';
@@ -158,6 +158,16 @@ export class BrowserRuntime {
const catalog = this._fileSystem.catalog;
this._runtime.assetManager.initializeFromCatalog(catalog);
}
// Set global asset file loader for UI atlas and other subsystems
// 设置全局资产文件加载器供 UI 图集和其他子系统使用
const assetFileLoader: IAssetFileLoader = {
loadImage: (assetPath: string) => this._assetReader!.loadImage(assetPath),
loadText: (assetPath: string) => this._assetReader!.readText(assetPath),
loadBinary: (assetPath: string) => this._assetReader!.readBinary(assetPath),
exists: (assetPath: string) => this._assetReader!.exists(assetPath)
};
setGlobalAssetFileLoader(assetFileLoader);
}
// Disable editor mode (hides grid, gizmos, axis indicator)