entity-component-system框架
Go to file
2023-09-28 15:37:20 +08:00
examples 删除组件Each、First等方法(使用时查不到东西,固需要查询的地方调用ecs.NewQuery自己构建查询对象) 2023-09-28 15:37:20 +08:00
.gitignore 初始版本 2023-08-04 11:02:08 +08:00
component.go 删除组件Each、First等方法(使用时查不到东西,固需要查询的地方调用ecs.NewQuery自己构建查询对象) 2023-09-28 15:37:20 +08:00
ecs_test.go 初始版本 2023-08-04 11:02:08 +08:00
entity.go 初始版本 2023-08-04 11:02:08 +08:00
entry.go 初始版本 2023-08-04 11:02:08 +08:00
events.go 调整世界运行倍速实现方式 2023-09-21 09:41:49 +08:00
go.mod 删除goroutineid及相关逻辑 2023-09-20 15:30:51 +08:00
go.sum 删除goroutineid及相关逻辑 2023-09-20 15:30:51 +08:00
query.go 初始版本 2023-08-04 11:02:08 +08:00
README.md 添加一些代码说明 2023-08-04 13:15:42 +08:00
system.go 初始版本 2023-08-04 11:02:08 +08:00
world.go 删除组件Each、First等方法(使用时查不到东西,固需要查询的地方调用ecs.NewQuery自己构建查询对象) 2023-09-28 15:37:20 +08:00

ECS(Entity Component System)框架

框架暂时基于donburi实现

核心组件概念

  • 组件数据:保存状态的数据结构
  • 组件(Component):组件数据的包装,调用 ecs.NewComponentType 生成的组件对象
  • 实体(Entity)一个或多个组件构成一个实体World.Create 或 World.CreateMany 创建
  • 入口(Entry):对实体进行操作的入口,获取或修改实体组件数据
  • 查询(Query): 用于组件查询,可以使用多种过滤器,同一个 Query 不能多线程使用
  • 过滤器(filter):组件查询使用
  • 系统(ISystem):对于功能逻辑的抽象,用于更新组件数据