Crates.io | specs_scene_graph |
lib.rs | specs_scene_graph |
version | 0.3.0 |
source | src |
created_at | 2018-06-28 20:32:44.11251 |
updated_at | 2019-07-05 22:03:27.469421 |
description | scene graph for specs |
homepage | https://gitlab.com/nathanfaucett/rs-specs_scene_graph |
repository | https://gitlab.com/nathanfaucett/rs-specs_scene_graph.git |
max_upload_size | |
id | 72154 |
size | 19,733 |
scene graph for specs
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();