summaryrefslogtreecommitdiff
path: root/src/systems/create.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/systems/create.rs')
-rw-r--r--src/systems/create.rs15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/systems/create.rs b/src/systems/create.rs
index 054dc1f..35ef747 100644
--- a/src/systems/create.rs
+++ b/src/systems/create.rs
@@ -34,13 +34,18 @@ impl <'a> System<'a> for Create {
new.remove(ent);
}
}
- for (pos, comps) in &new_entities.ents {
+ for (pos, template) in &new_entities.templates {
let mut builder = updater.create_entity(&entities);
- for comp in comps {
- builder = comp.build(builder);
+ match new_entities.encyclopedia.construct(template) {
+ Ok(comps) => {
+ for comp in comps {
+ builder = comp.build(builder);
+ }
+ builder.with(Position::new(*pos)).with(New).build();
+ },
+ Err(msg) => {println!("{}", msg);}
}
- builder.with(Position::new(*pos)).with(New).build();
}
- new_entities.ents.clear();
+ new_entities.templates.clear();
}
}