#layer #systems #events #engine #state #modular #logic

sylasteven

构建模块化引擎的基本逻辑

2 个版本

0.1.1 2019年10月9日
0.1.0 2019年10月9日

#81 in #modular


3 个 crate 中使用

MIT/Apache

4KB

简介

SYLASTEVEN 是一个系统-层-状态-事件引擎。它是一个基于系统、层、状态和事件的引擎。它旨在高度可扩展,以便不同的 crate 可以定义自己的系统。

系统

系统旨在处理特定的内部任务。它们可以将事件传递给层。例如,渲染、音频或物理系统。

层旨在代表用户的具体任务并处理系统传递的事件。层可以响应事件、添加或删除层,并将事件传递给下一层。例如,有一个用于主要逻辑的层,一个用于用户界面的层,以及每个子菜单的层,在常见情况下这是一种有用的设置。

状态

还有一个全局状态,所有状态和层都可以访问它。建议尽量避免使用全局状态,但对于一些大多数系统和层都需要的东西,例如窗口大小或某些全局时间值,能够使用全局状态是很好的。

事件

事件在层和状态之间传递。任何类型都可以用作事件,因此它可以包含任意信息。

另请参阅

在 [tests] 目录中,您将看到示例用法。

还可以查看 依赖的 crate。其中一些将定义可用的系统。

依赖项

~11KB