walker
e83feb89dd
修改世界状态更新事件处理方式 |
||
---|---|---|
debug | ||
examples | ||
filter | ||
.gitignore | ||
README.md | ||
component.go | ||
ecs_test.go | ||
entity.go | ||
entry.go | ||
events.go | ||
go.mod | ||
go.sum | ||
query.go | ||
request.go | ||
system.go | ||
world.go |
README.md
ECS(Entity Component System)框架
框架暂时基于donburi实现
核心组件概念
- 组件数据:保存状态的数据结构
- 组件(Component):组件数据的包装,调用 ecs.NewComponentType 生成的组件对象
- 实体(Entity):一个或多个组件构成一个实体,World.Create 或 World.CreateMany 创建
- 入口(Entry):对实体进行操作的入口,获取或修改实体组件数据
- 查询(Query): 用于组件查询,可以使用多种过滤器,同一个 Query 不能多线程使用
- 过滤器(filter):组件查询使用
- 系统(ISystem):对于功能逻辑的抽象,用于更新组件数据