summaryrefslogtreecommitdiff
path: root/src/systems/view.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/systems/view.rs')
-rw-r--r--src/systems/view.rs17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/systems/view.rs b/src/systems/view.rs
index 144a544..209b1a5 100644
--- a/src/systems/view.rs
+++ b/src/systems/view.rs
@@ -9,13 +9,13 @@ use specs::{
Join
};
+use super::super::pos::Pos;
+
use super::super::components::{
- Pos,
Visible,
Played
};
-
use super::super::resources::{
Size,
Output
@@ -44,15 +44,20 @@ impl <'a> System<'a> for View {
let height = size.height;
let (values, mapping) = draw_room(cells, (width, height));
- let message = WorldMessage{updates: vec![WorldUpdate::Field(FieldMessage{
+ let field = WorldUpdate::Field(FieldMessage{
width,
height,
field: values,
mapping
- })]};
+ });
output.output.clear();
- for player in (&players).join() {
- output.output.insert(player.name.clone(), message.clone());
+ for (player, pos) in (&players, &positions).join() {
+
+ let message = WorldMessage{updates: vec![
+ field.clone(),
+ WorldUpdate::Pos(*pos)
+ ]};
+ output.output.insert(player.name.clone(), message);
}
}
}