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

@@ -217,6 +217,20 @@ export class GameEngine {
* * `id` - Texture ID | 纹理ID
*/
isTextureReady(id: number): boolean;
/**
* Set scissor rect for clipping (screen coordinates, Y-down).
* 设置裁剪矩形屏幕坐标Y 轴向下)。
*
* Content outside this rect will be clipped.
* 此矩形外的内容将被裁剪。
*
* # Arguments | 参数
* * `x` - Left edge in screen coordinates | 屏幕坐标中的左边缘
* * `y` - Top edge in screen coordinates (Y-down) | 屏幕坐标中的上边缘Y 向下)
* * `width` - Rect width | 矩形宽度
* * `height` - Rect height | 矩形高度
*/
setScissorRect(x: number, y: number, width: number, height: number): void;
/**
* Add a capsule gizmo outline.
* 添加胶囊Gizmo边框。
@@ -269,6 +283,11 @@ export class GameEngine {
* 请谨慎使用,因为所有纹理引用都将变得无效。
*/
clearAllTextures(): void;
/**
* Clear scissor rect (disable clipping).
* 清除裁剪矩形(禁用裁剪)。
*/
clearScissorRect(): void;
/**
* Render to a specific viewport.
* 渲染到特定视口。
@@ -489,6 +508,7 @@ export interface InitOutput {
readonly gameengine_addGizmoRect: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number) => void;
readonly gameengine_clear: (a: number, b: number, c: number, d: number, e: number) => void;
readonly gameengine_clearAllTextures: (a: number) => void;
readonly gameengine_clearScissorRect: (a: number) => void;
readonly gameengine_clearTexturePathCache: (a: number) => void;
readonly gameengine_compileShader: (a: number, b: number, c: number, d: number, e: number) => [number, number, number];
readonly gameengine_compileShaderWithId: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
@@ -532,6 +552,7 @@ export interface InitOutput {
readonly gameengine_setMaterialVec2: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
readonly gameengine_setMaterialVec3: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => number;
readonly gameengine_setMaterialVec4: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => number;
readonly gameengine_setScissorRect: (a: number, b: number, c: number, d: number, e: number) => void;
readonly gameengine_setShowGizmos: (a: number, b: number) => void;
readonly gameengine_setShowGrid: (a: number, b: number) => void;
readonly gameengine_setTransformMode: (a: number, b: number) => void;