From fa205303a3ae4dca0ee6c7bd8de94949e180ba75 Mon Sep 17 00:00:00 2001 From: troido Date: Mon, 3 Feb 2020 17:12:13 +0100 Subject: now also send playerpos messages --- src/systems/controlinput.rs | 5 +++-- src/systems/makefloor.rs | 4 +--- src/systems/moving.rs | 3 ++- src/systems/view.rs | 17 +++++++++++------ 4 files changed, 17 insertions(+), 12 deletions(-) (limited to 'src/systems') 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); } } } -- cgit