summaryrefslogtreecommitdiff
path: root/src/room.rs
diff options
context:
space:
mode:
authortroido <troido@protonmail.com>2020-04-06 10:37:53 +0200
committertroido <troido@protonmail.com>2020-04-06 10:37:53 +0200
commite8d3e3c4f69fc5bab2b32b16b7c8c2c4a8a89a4b (patch)
tree67986bb0c0af1abe61dc9846d1a6c8c9b8e2c4b0 /src/room.rs
parentff457701ff56072914acb8a7160cd02c2a07095a (diff)
made parseerrors their own thing
Diffstat (limited to 'src/room.rs')
-rw-r--r--src/room.rs5
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>{