chore:首次提交

This commit is contained in:
Evilom
2026-05-11 17:39:31 +08:00
parent 906f1cf468
commit 83e99a7ef8
109 changed files with 19558 additions and 0 deletions
+33
View File
@@ -0,0 +1,33 @@
# ADR-001: 使用 Entity-Component 模式
## Status
Accepted
## Date
2026-05-10
## Context
需要一个管理游戏对象的架构,要求:
- 支持 50+ 个并发实体
- 轻松添加新实体类型,无需修改核心系统
- 高效查询特定组件组合的实体
- 解耦物理、渲染和 AI 逻辑
## Decision
使用 Entity-Component (EC) 模式,不用完整 ECS 框架。
- 实体是唯一 ID (字符串)
- 组件是纯数据对象,必须有 `type` 字段
- 系统遍历组件数组操作匹配的实体
- EventBus 处理系统间通信
选择此方案而非:
- 继承层次 (太僵化,钻石问题)
- 完整 ECS 库 (增加依赖,复杂度超出需求)
- 扁平对象数组 (大数据量缓存不友好)
## Consequences
- 添加新实体类型只需定义组件 (无需修改类)
- 系统可以独立开发和测试
- 需要自己编写组件存储和查询逻辑
- 实体数量在 200+ 时可能需要优化