#实体-组件 #消息 #游戏开发 #架构 #实体 #处理器 #ecm

palkia

类似《Quud洞穴》的实体-组件-消息架构

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

MIT 许可证

105KB
2.5K SLoC

Palkia

一个实体-组件-消息架构的crate。

什么是实体-组件-消息架构?

以下是我在博客中关于它的文章中的一段摘录

与ECS类似,在ECM下,你有实体,它们是组件的列表。但是,你不会通过将不同组件的行为与系统链接来实现它,而是通过传递消息来实现。

当你为一个结构体实现Component时,你实现一个方法将这个结构体注册到不同的消息类型。然后,从消息处理器中,你可以向其他实体发送消息。

当一个实体收到消息时,它会按顺序遍历其组件,如果该组件类型为该消息类型注册了处理器,它会运行处理器并将更新的值传递给下一个组件,依此类推……最后将修改后的消息返回给调用者。

World上有一个方法可以将消息传递给所有实体,作为你的入口点。

你可以查看测试示例了解更多信息。

为什么叫Palkia?

我一直在用宝可梦给Foxfire的辅助crate命名,因为它们有很多,我不想花太多时间想名字。我特意选择了Palkia,因为这个crate提供了一种组织数据的方法,而Palkia控制空间。


依赖关系

~6MB
~98K SLoC