summaryrefslogtreecommitdiff
path: root/src/systems
diff options
context:
space:
mode:
Diffstat (limited to 'src/systems')
-rw-r--r--src/systems/controlinput.rs8
-rw-r--r--src/systems/create.rs15
2 files changed, 7 insertions, 16 deletions
diff --git a/src/systems/controlinput.rs b/src/systems/controlinput.rs
index 0771b1e..712c98b 100644
--- a/src/systems/controlinput.rs
+++ b/src/systems/controlinput.rs
@@ -14,11 +14,7 @@ use specs::{
use crate::components::{Controller, Player, Removed};
use crate::controls::{Control, Action};
use crate::resources::{Input, NewEntities, Spawn};
-use crate::hashmap;
-use crate::template::Template;
-use crate::parameter::Parameter;
-// use crate::assemblages::Player;
pub struct ControlInput;
@@ -48,9 +44,9 @@ impl <'a> System<'a> for ControlInput {
for action in &input.actions {
match action {
Action::Join(name) => {
- new.templates.push((
+ new.ents.push((
spawn.pos,
- Template::new("player", hashmap!("name".to_string() => Parameter::String(name.to_string())))
+ crate::player::make_player(name)
));
}
Action::Leave(name) => {leaving.insert(name);}
diff --git a/src/systems/create.rs b/src/systems/create.rs
index 35ef747..054dc1f 100644
--- a/src/systems/create.rs
+++ b/src/systems/create.rs
@@ -34,18 +34,13 @@ impl <'a> System<'a> for Create {
new.remove(ent);
}
}
- for (pos, template) in &new_entities.templates {
+ for (pos, comps) in &new_entities.ents {
let mut builder = updater.create_entity(&entities);
- 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);}
+ for comp in comps {
+ builder = comp.build(builder);
}
+ builder.with(Position::new(*pos)).with(New).build();
}
- new_entities.templates.clear();
+ new_entities.ents.clear();
}
}