diff options
Diffstat (limited to 'src/room.rs')
| -rw-r--r-- | src/room.rs | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/room.rs b/src/room.rs index 46948cb..bc5b651 100644 --- a/src/room.rs +++ b/src/room.rs @@ -181,14 +181,15 @@ impl <'a, 'b>Room<'a, 'b> { self.world.fetch_mut::<Input>().actions.insert(player, control); } - pub fn add_player(&mut self, state: &PlayerState){ - let pre_player = state.construct(&self.world.fetch::<NewEntities>().encyclopedia); + pub fn add_player(&mut self, state: &PlayerState) -> Result<()> { + let pre_player = state.construct(&self.world.fetch::<NewEntities>().encyclopedia)?; let spawn = match &state.pos { RoomPos::Unknown => self.world.fetch::<SpawnPosition>().pos, RoomPos::Pos(pos) => *pos, RoomPos::Name(name) => *self.places.get(name).unwrap() }; self.world.fetch_mut::<NewEntities>().to_build.push((spawn, pre_player)); + Ok(()) } pub fn remove_player(&mut self, id: &PlayerId) -> Result<PlayerState>{ |
