5 个不稳定版本

使用旧的 Rust 2015

0.3.0 2019年7月5日
0.2.3 2018年11月22日
0.2.1 2018年6月29日
0.2.0 2018年6月28日
0.1.0 2018年6月28日

#7 in #scene-graph


4 个crate中(通过 specs_transform)使用

MIT 许可证

16KB
387 代码行数,不包括注释

specs_scene_graph

规格场景图

use specs_scene_graph::{SceneGraphBundle, Parent as SceneGraphParent};

#[derive(Debug)]
struct Parent {
    entity: Entity,
}

impl Parent {
    #[inline(always)]
    pub fn new(entity: Entity) -> Self {
        Parent { entity: entity }
    }
}

impl Component for Parent {
    type Storage = FlaggedStorage<Self, DenseVecStorage<Self>>;
}

impl SceneGraphParent for Parent {
    #[inline(always)]
    fn parent_entity(&self) -> Entity {
        self.entity
    }
}

let mut world = World::new();

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

// track modified/removed events from the scene graph
let mut reader_id = world.write_resource::<SceneGraph<Parent>>().track();

依赖

~6MB
~117K SLoC