summaryrefslogtreecommitdiff
path: root/src/systems
diff options
context:
space:
mode:
Diffstat (limited to 'src/systems')
-rw-r--r--src/systems/controlinput.rs5
-rw-r--r--src/systems/makefloor.rs4
-rw-r--r--src/systems/moving.rs3
-rw-r--r--src/systems/view.rs17
4 files changed, 17 insertions, 12 deletions
diff --git a/src/systems/controlinput.rs b/src/systems/controlinput.rs
index b672b4c..6d07bc5 100644
--- a/src/systems/controlinput.rs
+++ b/src/systems/controlinput.rs
@@ -11,10 +11,11 @@ use specs::{
Join
};
+use super::super::pos::Pos;
+
use super::super::components::{
Controller,
- Played,
- Pos
+ Played
};
use super::super::controls::{
diff --git a/src/systems/makefloor.rs b/src/systems/makefloor.rs
index ba3727d..b6fedd9 100644
--- a/src/systems/makefloor.rs
+++ b/src/systems/makefloor.rs
@@ -8,9 +8,7 @@ use specs::{
Join
};
-use super::super::components::{
- Pos
-};
+use super::super::pos::Pos;
use super::super::resources::{
Floor
diff --git a/src/systems/moving.rs b/src/systems/moving.rs
index 8bce8e5..38588d5 100644
--- a/src/systems/moving.rs
+++ b/src/systems/moving.rs
@@ -7,8 +7,9 @@ use specs::{
Join
};
+use super::super::pos::Pos;
+
use super::super::components::{
- Pos,
Controller,
Blocking
};
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);
}
}
}