From ada1c4571a9ba43b15027f126fada55e73901a11 Mon Sep 17 00:00:00 2001 From: troido Date: Fri, 21 Feb 2020 15:03:43 +0100 Subject: create World for multiroom support --- src/room.rs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'src/room.rs') diff --git a/src/room.rs b/src/room.rs index c826c19..c813e0c 100644 --- a/src/room.rs +++ b/src/room.rs @@ -102,6 +102,13 @@ impl <'a, 'b>Room<'a, 'b> { } } + + pub fn create(id: RoomId, encyclopedia: &Encyclopedia, template: &RoomTemplate) -> Room<'a, 'b> { + let mut room = Self::new(id, encyclopedia.clone()); + room.load_from_template(template); + room + } + pub fn view(&self) -> HashMap { self.world.fetch::().output.clone() } @@ -111,8 +118,9 @@ impl <'a, 'b>Room<'a, 'b> { self.world.maintain(); } - pub fn set_input(&mut self, actions: HashMap){ - self.world.fetch_mut::().actions = actions; + + pub fn control_player(&mut self, player: PlayerId, control: Control){ + self.world.fetch_mut::().actions.insert(player, control); } pub fn add_player(&mut self, state: &PlayerState){ -- cgit