6个稳定版本

1.2.1 2021年6月21日
1.2.0 2021年5月14日
1.1.2 2021年3月29日

游戏开发类别中排名第840

Download history 14/week @ 2024-03-11 20/week @ 2024-04-01

每月下载量约97

Apache-2.0

175KB

Planck ECS Planck ECS

完整的ECS (实体-组件-系统) 库。

支持开源开发者!♥️
Become a patron

由两个较小的库组成

阅读文档

你为什么想使用这个ECS库?

  • 兼容所有平台,包括WASM!
  • 在所有操作中都非常快,而不仅仅是迭代。
  • 依赖最少。
  • 代码尺寸小。
  • 稳定、测试、基准测试,100%完成。
  • 能够处理系统错误而不会崩溃。
  • 可以将函数和闭包都转换为系统!
  • 安全:总共只有3个 unsafe。 (与主流ECS库中的数百个相比!)

用法

将以下内容添加到你的Cargo.toml文件中

planck_ecs = "*"

这样使用它

use planck_ecs::*;
fn main() {
    #[derive(Default)]
    pub struct A;

    let mut world = World::default();

    let sys = (|comps: &mut Components<A>, entities: &mut Entities| {
        let entity = entities.create();
        comps.insert(entity, A);
        Ok(())
    }).system();

    let mut dispatch = DispatcherBuilder::new().add_system(sys).build(&mut world);
    dispatch.run_seq(&world).unwrap();
    dispatch.run_seq(&world).unwrap();
    dispatch.run_seq(&world).unwrap();

    assert!(world.get::<Components<A>>().is_ok());
}

更多示例,请参阅以下两个存储库的示例文件夹和文档

维护者信息

  • 维护者:Jojolepro
  • 联系方式:jojolepro [at] jojolepro [dot] com
  • 网站:jojolepro.com
  • Patreon:patreon

依赖

~0.6–1.4MB
~24K SLoC