31个版本
0.15.0 | 2024年7月12日 |
---|---|
0.13.1 | 2023年11月17日 |
0.12.0 | 2023年7月25日 |
0.10.0 | 2023年1月19日 |
0.3.0 | 2022年7月25日 |
#579 in 游戏开发
用于 dialga
105KB
2.5K SLoC
Palkia
一个实体-组件-消息架构的crate。
什么是实体-组件-消息架构?
以下是我在博客中关于它的文章中的一段摘录
与ECS类似,在ECM下,你有实体,它们是组件的列表。但是,你不会通过将不同组件的行为与系统链接来实现它,而是通过传递消息来实现。
当你为一个结构体实现Component时,你实现一个方法将这个结构体注册到不同的消息类型。然后,从消息处理器中,你可以向其他实体发送消息。
当一个实体收到消息时,它会按顺序遍历其组件,如果该组件类型为该消息类型注册了处理器,它会运行处理器并将更新的值传递给下一个组件,依此类推……最后将修改后的消息返回给调用者。
World上有一个方法可以将消息传递给所有实体,作为你的入口点。
为什么叫Palkia?
我一直在用宝可梦给Foxfire的辅助crate命名,因为它们有很多,我不想花太多时间想名字。我特意选择了Palkia,因为这个crate提供了一种组织数据的方法,而Palkia控制空间。
依赖关系
~6MB
~98K SLoC