bce3a6e2537a1c30a6815f2c9f1d1a25d6acd78a
* refactor(editor): 提取行为树编辑器为独立包并重构编辑器架构 * feat(editor): 添加插件市场功能 * feat(editor): 重构插件市场以支持版本管理和ZIP打包 * feat(editor): 重构插件发布流程并修复React渲染警告 * fix(plugin): 修复插件发布和市场的路径不一致问题 * feat: 重构插件发布流程并添加插件删除功能 * fix(editor): 完善插件删除功能并修复多个关键问题 * fix(auth): 修复自动登录与手动登录的竞态条件问题 * feat(editor): 重构插件管理流程 * feat(editor): 支持 ZIP 文件直接发布插件 - 新增 PluginSourceParser 解析插件源 - 重构发布流程支持文件夹和 ZIP 两种方式 - 优化发布向导 UI * feat(editor): 插件市场支持多版本安装 - 插件解压到项目 plugins 目录 - 新增 Tauri 后端安装/卸载命令 - 支持选择任意版本安装 - 修复打包逻辑,保留完整 dist 目录结构 * feat(editor): 个人中心支持多版本管理 - 合并同一插件的不同版本 - 添加版本历史展开/折叠功能 - 禁止有待审核 PR 时更新插件 * fix(editor): 修复 InspectorRegistry 服务注册 - InspectorRegistry 实现 IService 接口 - 注册到 Core.services 供插件使用 * feat(behavior-tree-editor): 完善插件注册和文件操作 - 添加文件创建模板和操作处理器 - 实现右键菜单创建行为树功能 - 修复文件读取权限问题(使用 Tauri 命令) - 添加 BehaviorTreeEditorPanel 组件 - 修复 rollup 配置支持动态导入 * feat(plugin): 完善插件构建和发布流程 * fix(behavior-tree-editor): 完整恢复编辑器并修复 Toast 集成 * fix(behavior-tree-editor): 修复节点选中、连线跟随和文件加载问题并优化性能 * fix(behavior-tree-editor): 修复端口连接失败问题并优化连线样式 * refactor(behavior-tree-editor): 移除调试面板功能简化代码结构 * refactor(behavior-tree-editor): 清理冗余代码合并重复逻辑 * feat(behavior-tree-editor): 完善编辑器核心功能增强扩展性 * fix(lint): 修复ESLint错误确保CI通过 * refactor(behavior-tree-editor): 优化编辑器工具栏和编译器功能 * refactor(behavior-tree-editor): 清理技术债务,优化代码质量 * fix(editor-app): 修复字符串替换安全问题
ECS Framework
一个高性能的 TypeScript ECS (Entity-Component-System) 框架,专为现代游戏开发而设计。
A high-performance TypeScript ECS (Entity-Component-System) framework designed for modern game development.
📊 项目统计 / Project Stats
📈 下载趋势 / Download Trends
特性
- 高性能 - 针对大规模实体优化,支持SoA存储和批量处理
- 多线程计算 - Worker系统支持真正的并行处理,充分利用多核CPU性能
- 类型安全 - 完整的TypeScript支持,编译时类型检查
- 现代架构 - 支持多World、多Scene的分层架构设计
- 开发友好 - 内置调试工具和性能监控
- 跨平台 - 支持Cocos Creator、Laya引擎和Web平台
安装
npm install @esengine/ecs-framework
快速开始
import { Core, Scene, Component, EntitySystem, ECSComponent, ECSSystem, Matcher, Time } from '@esengine/ecs-framework';
// 定义组件
@ECSComponent('Position')
class Position extends Component {
constructor(public x = 0, public y = 0) {
super();
}
}
@ECSComponent('Velocity')
class Velocity extends Component {
constructor(public dx = 0, public dy = 0) {
super();
}
}
// 创建系统
@ECSSystem('Movement')
class MovementSystem extends EntitySystem {
constructor() {
super(Matcher.all(Position, Velocity));
}
protected process(entities: readonly Entity[]): void {
for (const entity of entities) {
const position = entity.getComponent(Position)!;
const velocity = entity.getComponent(Velocity)!;
position.x += velocity.dx * Time.deltaTime;
position.y += velocity.dy * Time.deltaTime;
}
}
}
// 创建场景并启动
class GameScene extends Scene {
protected initialize(): void {
this.addSystem(new MovementSystem());
const player = this.createEntity("Player");
player.addComponent(new Position(100, 100));
player.addComponent(new Velocity(50, 0));
}
}
// 启动游戏
Core.create();
Core.setScene(new GameScene());
// 游戏循环中更新
function gameLoop(deltaTime: number) {
Core.update(deltaTime);
}
核心特性
- 实体查询 - 使用 Matcher API 进行高效的实体过滤
- 事件系统 - 类型安全的事件发布/订阅机制
- 性能优化 - SoA 存储优化,支持大规模实体处理
- 多线程支持 - Worker系统实现真正的并行计算,充分利用多核CPU
- 多场景 - 支持 World/Scene 分层架构
- 时间管理 - 内置定时器和时间控制系统
🏗️ 架构设计 / Architecture
graph TB
A[Core 核心] --> B[World 世界]
B --> C[Scene 场景]
C --> D[EntityManager 实体管理器]
C --> E[SystemManager 系统管理器]
D --> F[Entity 实体]
F --> G[Component 组件]
E --> H[EntitySystem 实体系统]
E --> I[WorkerSystem 工作线程系统]
style A fill:#e1f5ff
style B fill:#fff3e0
style C fill:#f3e5f5
style D fill:#e8f5e9
style E fill:#fff9c4
style F fill:#ffebee
style G fill:#e0f2f1
style H fill:#fce4ec
style I fill:#f1f8e9
平台支持
支持主流游戏引擎和 Web 平台:
- Cocos Creator
- Laya 引擎
- 原生 Web - 浏览器环境直接运行
- 小游戏平台 - 微信、支付宝等小游戏
ECS Framework Editor
跨平台桌面编辑器,提供可视化开发和调试工具。
主要功能
- 场景管理 - 可视化场景层级和实体管理
- 组件检视 - 实时查看和编辑实体组件
- 性能分析 - 内置 Profiler 监控系统性能
- 插件系统 - 可扩展的插件架构
- 远程调试 - 连接运行中的游戏进行实时调试
- 自动更新 - 支持热更新,自动获取最新版本
下载
支持 Windows、macOS (Intel & Apple Silicon)
截图
示例项目
- Worker系统演示 - 多线程物理系统演示,展示高性能并行计算
- 割草机演示 - 完整的游戏示例
文档
生态系统
💪 支持项目 / Support the Project
如果这个项目对你有帮助,请考虑:
If this project helps you, please consider:
- ⭐ 给项目点个 Star
- 🐛 报告 Bug 或提出新功能
- 📝 改进文档
- 💖 成为赞助者
社区与支持
贡献者 / Contributors
感谢所有为这个项目做出贡献的人!
Thanks goes to these wonderful people:
esengine 🚧 💻 🎨 |
LING YE 💻 |
MirageTank 💻 |
本项目遵循 all-contributors 规范。欢迎任何形式的贡献!
许可证
MIT © 2025 ECS Framework
Description
【开源】TypeScript 可视化蓝图系统
https://esengine.cn/modules/blueprint/cocos-editor/
https://forum.cocos.org/t/topic/173430
Languages
TypeScript
89.7%
Rust
4.7%
CSS
4.4%
JavaScript
0.9%
HTML
0.3%


