#specs #messenger #component

specs_messenger

specs 的消息传递组件

1 个不稳定版本

使用旧的 Rust 2015

0.1.0 2018年6月24日

12 in #messenger

MIT 许可证

8KB
172 行(代码,不包括注释)

specs_messenger

specs 的消息传递组件

let mut world = World::new();

let mut dispatcher = SpecsBundler::new(&mut world, DispatcherBuilder::new())
    .bundle(MessengerBundle::<String>::new()).unwrap()
    .build();

let entity0 = world
    .create_entity()
    .with(Messenger::<String>::new())
    .build();

let entity1 = world
    .create_entity()
    .with(Messenger::<String>::new())
    .build();

let entity2 = world
    .create_entity()
    .with(Messenger::<String>::new())
    .build();

{
    let mut messengers = world.write_storage::<Messenger<String>>();

    messengers
        .get_mut(entity0)
        .unwrap()
        .send(entity1, "Direct".into());

    messengers
        .get_mut(entity2)
        .unwrap()
        .broadcast("Broadcast".into());
}

dispatcher.dispatch(&mut world.res);

依赖项

~5.5MB
~109K SLoC