* feat(fairygui): FairyGUI ECS 集成核心架构 实现 FairyGUI 的 ECS 原生集成,完全替代旧 UI 系统: 核心类: - GObject: UI 对象基类,支持变换、可见性、关联、齿轮 - GComponent: 容器组件,管理子对象和控制器 - GRoot: 根容器,管理焦点、弹窗、输入分发 - GGroup: 组容器,支持水平/垂直布局 抽象层: - DisplayObject: 显示对象基类 - EventDispatcher: 事件分发 - Timer: 计时器 - Stage: 舞台,管理输入和缩放 布局系统: - Relations: 约束关联管理 - RelationItem: 24 种关联类型 基础设施: - Controller: 状态控制器 - Transition: 过渡动画 - ScrollPane: 滚动面板 - UIPackage: 包管理 - ByteBuffer: 二进制解析 * refactor(ui): 删除旧 UI 系统,使用 FairyGUI 替代 * feat(fairygui): 实现 UI 控件 - 添加显示类:Image、TextField、Graph - 添加基础控件:GImage、GTextField、GGraph - 添加交互控件:GButton、GProgressBar、GSlider - 更新 IRenderCollector 支持 Graph 渲染 - 扩展 Controller 添加 selectedPageId - 添加 STATE_CHANGED 事件类型 * feat(fairygui): 现代化架构重构 - 增强 EventDispatcher 支持类型安全、优先级和传播控制 - 添加 PropertyBinding 响应式属性绑定系统 - 添加 ServiceContainer 依赖注入容器 - 添加 UIConfig 全局配置系统 - 添加 UIObjectFactory 对象工厂 - 实现 RenderBridge 渲染桥接层 - 实现 Canvas2DBackend 作为默认渲染后端 - 扩展 IRenderCollector 支持更多图元类型 * feat(fairygui): 九宫格渲染和资源加载修复 - 修复 FGUIUpdateSystem 支持路径和 GUID 两种加载方式 - 修复 GTextInput 同时设置 _displayObject 和 _textField - 实现九宫格渲染展开为 9 个子图元 - 添加 sourceWidth/sourceHeight 用于九宫格计算 - 添加 DOMTextRenderer 文本渲染层(临时方案) * fix(fairygui): 修复 GGraph 颜色读取 * feat(fairygui): 虚拟节点 Inspector 和文本渲染支持 * fix(fairygui): 编辑器状态刷新和遗留引用修复 - 修复切换 FGUI 包后组件列表未刷新问题 - 修复切换组件后 viewport 未清理旧内容问题 - 修复虚拟节点在包加载后未刷新问题 - 重构为事件驱动架构,移除轮询机制 - 修复 @esengine/ui 遗留引用,统一使用 @esengine/fairygui * fix: 移除 tsconfig 中的 @esengine/ui 引用
201 lines
5.5 KiB
TypeScript
201 lines
5.5 KiB
TypeScript
/**
|
|
* @esengine/sdk - 统一 SDK 入口
|
|
*
|
|
* Unified SDK entry point for user scripts.
|
|
* 用户脚本的统一 SDK 入口。
|
|
*
|
|
* @example
|
|
* ```typescript
|
|
* // 统一导入所有引擎 API
|
|
* // Unified import for all engine APIs
|
|
* import { Component, Entity, Vector2, SpriteComponent } from '@esengine/sdk';
|
|
* ```
|
|
*
|
|
* @packageDocumentation
|
|
*/
|
|
|
|
// ============================================================================
|
|
// Core ECS Framework (@esengine/ecs-framework)
|
|
// 核心 ECS 框架
|
|
// ============================================================================
|
|
export * from '@esengine/ecs-framework';
|
|
|
|
// ============================================================================
|
|
// Math Library (@esengine/ecs-framework-math)
|
|
// 数学库
|
|
// ============================================================================
|
|
export * from '@esengine/ecs-framework-math';
|
|
|
|
// ============================================================================
|
|
// Engine Core (@esengine/engine-core)
|
|
// 引擎核心
|
|
// ============================================================================
|
|
export * from '@esengine/engine-core';
|
|
|
|
// ============================================================================
|
|
// Sprite System (@esengine/sprite)
|
|
// 精灵系统
|
|
// ============================================================================
|
|
export * from '@esengine/sprite';
|
|
|
|
// ============================================================================
|
|
// FairyGUI System (@esengine/fairygui)
|
|
// FairyGUI 系统
|
|
// Note: Selective exports to avoid conflicts with ecs-framework and math
|
|
// ============================================================================
|
|
export {
|
|
// ECS Integration
|
|
FGUIComponent,
|
|
FGUIRenderSystem,
|
|
getFGUIRenderSystem,
|
|
setFGUIRenderSystem,
|
|
FGUIRuntimeModule,
|
|
FGUIPlugin,
|
|
// Core
|
|
GObject,
|
|
GComponent,
|
|
GRoot,
|
|
GGroup,
|
|
Controller,
|
|
Transition,
|
|
UIConfig,
|
|
getUIConfig,
|
|
setUIConfig,
|
|
UIObjectFactory,
|
|
GObjectPool,
|
|
DragDropManager,
|
|
EScaleMode,
|
|
EAlignMode,
|
|
// Widgets
|
|
GImage,
|
|
GTextField,
|
|
GGraph,
|
|
GButton,
|
|
GProgressBar,
|
|
GSlider,
|
|
GLoader,
|
|
GList,
|
|
GTextInput,
|
|
EKeyboardType,
|
|
PopupMenu,
|
|
Window,
|
|
// Package
|
|
UIPackage,
|
|
PackageItem,
|
|
// Events
|
|
EventDispatcher,
|
|
FGUIEvents,
|
|
// Render
|
|
RenderCollector,
|
|
RenderBridge,
|
|
Canvas2DBackend,
|
|
FGUIRenderDataProvider,
|
|
createFGUIRenderDataProvider,
|
|
// Tween
|
|
GTween,
|
|
GTweener,
|
|
TweenManager,
|
|
TweenValue,
|
|
evaluateEase,
|
|
// Asset
|
|
FUIAssetLoader,
|
|
fuiAssetLoader,
|
|
// Field Types
|
|
EButtonMode,
|
|
EAutoSizeType,
|
|
EAlignType,
|
|
EVertAlignType,
|
|
ELoaderFillType,
|
|
EListLayoutType,
|
|
EListSelectionMode,
|
|
EOverflowType,
|
|
EPackageItemType,
|
|
EObjectType,
|
|
EProgressTitleType,
|
|
EScrollBarDisplayType,
|
|
EScrollType,
|
|
EFlipType,
|
|
EChildrenRenderOrder,
|
|
EGroupLayoutType,
|
|
EPopupDirection,
|
|
ERelationType,
|
|
EFillMethod,
|
|
EFillOrigin,
|
|
EObjectPropID,
|
|
EGearType,
|
|
EEaseType,
|
|
EBlendMode,
|
|
ETransitionActionType,
|
|
EGraphType,
|
|
} from '@esengine/fairygui';
|
|
|
|
// Re-export conflicting types with FGUI prefix
|
|
export {
|
|
Timer as FGUITimer,
|
|
Stage as FGUIStage,
|
|
ServiceContainer as FGUIServiceContainer,
|
|
Point as FGUIPoint,
|
|
Rectangle as FGUIRectangle,
|
|
} from '@esengine/fairygui';
|
|
|
|
export type {
|
|
// FairyGUI types
|
|
IFGUIComponentData,
|
|
RenderSubmitCallback,
|
|
ItemRenderer,
|
|
ItemProvider,
|
|
IUISource,
|
|
TypedEventListener,
|
|
EventListener,
|
|
FGUIEventType,
|
|
IEventContext,
|
|
IInputEventData,
|
|
IFUIAsset,
|
|
IEngineRenderData,
|
|
IFGUIRenderDataProvider,
|
|
TextureResolverFn,
|
|
TweenCallback,
|
|
} from '@esengine/fairygui';
|
|
|
|
// ============================================================================
|
|
// Audio System (@esengine/audio)
|
|
// 音频系统
|
|
// ============================================================================
|
|
export * from '@esengine/audio';
|
|
|
|
// ============================================================================
|
|
// Camera System (@esengine/camera)
|
|
// 摄像机系统
|
|
// ============================================================================
|
|
export * from '@esengine/camera';
|
|
|
|
// ============================================================================
|
|
// Particle System (@esengine/particle)
|
|
// 粒子系统
|
|
// ============================================================================
|
|
export * from '@esengine/particle';
|
|
|
|
// ============================================================================
|
|
// Physics 2D System (@esengine/physics-rapier2d)
|
|
// 2D 物理系统
|
|
// ============================================================================
|
|
export * from '@esengine/physics-rapier2d';
|
|
|
|
// ============================================================================
|
|
// Tilemap System (@esengine/tilemap)
|
|
// 瓦片地图系统
|
|
// ============================================================================
|
|
export * from '@esengine/tilemap';
|
|
|
|
// ============================================================================
|
|
// Behavior Tree System (@esengine/behavior-tree)
|
|
// 行为树系统
|
|
// ============================================================================
|
|
export * from '@esengine/behavior-tree';
|
|
|
|
// ============================================================================
|
|
// Asset System (@esengine/asset-system)
|
|
// 资产系统
|
|
// ============================================================================
|
|
export * from '@esengine/asset-system';
|