10 个版本 (5 个重大更新)

使用旧的 Rust 2015

0.6.0 2019 年 7 月 5 日
0.5.0 2018 年 6 月 28 日
0.4.0 2018 年 6 月 26 日
0.3.2 2018 年 6 月 26 日
0.1.1 2017 年 11 月 19 日

#15#specs

33 每月下载量
用于 7 crates

MIT 许可证

8KB
160 代码行数(不含注释)

specs_bundler

specs 组件和系统打包器

specs_bundler = "0.5"
extern crate specs;
extern crate specs_bundler;


use specs::{DispatcherBuilder, World};
use specs_bundler::{Bundler, Bundle};


#[derive(Default)]
struct MyBundle {
    config: bool
}

impl<'world, 'a, 'b> Bundle<'world, 'a, 'b> for MyBundle {
    type Error = ();

    fn build(
        self,
        bundler: Bundler<'world, 'a, 'b>,
    ) -> Result<Bundler<'world, 'a, 'b>, ()> {
        if self.config {
            Ok(bundler)
        } else {
            Err(())
        }
    }
}

fn main() {
    let mut world = World::new();

    let mut dispatcher = Bundler::new(&mut world, DispatcherBuilder::new())
        .bundle(MyBundle { config: true }).expect("should not be an error")
        .build();

    dispatcher.dispatch(&mut world.res);
}

依赖项

~5MB
~104K SLoC