2个不稳定版本
0.3.0 | 2020年7月21日 |
---|---|
0.1.0 | 2020年6月19日 |
#1873 in 游戏开发
15KB
72 行
支持开源开发者!♥️
SPECS声明
一个简单的宏,用于有效地创建SPECS系统。
添加到您的项目
将以下内容添加到您的Cargo.toml文件中
specs_declaration = "*"
用法
- system!
- 给出系统的名称和可选的泛型参数
- 以闭包的形式给出您常用的SystemData的内容
- 编写您的操作,就像您在System的常规run(&self, params..)函数中一样
use specs::*;
system!(SystemName, |velocity: WriteStorage<'a, Velocity>| {
for vel in (&velocity,).join() {
println!("velocity: {}, {}, {}", vel.x, vel.y, vel.z);
}
});
泛型
use specs::*;
system!(SystemName<T: Debug + Send + Sync + 'static>, |my_resource: Read<'a, T>, velocity: WriteStorage<'a, Velocity>| {
println!("My Generic Resource: {:?}", my_resource);
for vel in (&velocity,).join() {
println!("velocity: {}, {}, {}", vel.x, vel.y, vel.z);
}
});
如果您觉得这个有用,请考虑在我的patreon上捐款!