summaryrefslogtreecommitdiff
path: root/src/systems
diff options
context:
space:
mode:
authortroido <troido@protonmail.com>2020-02-08 19:22:00 +0100
committertroido <troido@protonmail.com>2020-02-08 19:22:00 +0100
commitb56add981c2f520789b97d1ee6f71dae41e8c900 (patch)
treedca7d8795c2a51f56173153c286c4dadcf8daff4 /src/systems
parent3ebe9e6f792a0457c6f3b37b6e9d92c83f8694e2 (diff)
no templates in the world; only pre-entities
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();
}
}