diff options
| author | troido <troido@protonmail.com> | 2020-02-18 02:27:21 +0100 |
|---|---|---|
| committer | troido <troido@protonmail.com> | 2020-02-18 02:27:21 +0100 |
| commit | 32dd60bca02cf2cfccc8d4309691df9f2f84398c (patch) | |
| tree | e6d67140f3f0ca2272f796775a9dc65e5b25484f /src/main.rs | |
| parent | c71ecb48fa4368035a852e2d06869a21382a6876 (diff) | |
refactoring: roomid is now a type, not string anymore
Diffstat (limited to 'src/main.rs')
| -rw-r--r-- | src/main.rs | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/main.rs b/src/main.rs index 73c26ca..6b92077 100644 --- a/src/main.rs +++ b/src/main.rs @@ -24,13 +24,15 @@ mod encyclopedia; mod template; mod roomtemplate; mod savestate; +mod playerid; mod defaultencyclopedia; mod playerstate; -mod playerid; +mod roomid; mod persistence; pub use self::pos::Pos; pub use self::playerid::PlayerId; +pub use self::roomid::RoomId; use self::gameserver::GameServer; use self::server::unixserver::UnixServer; @@ -63,7 +65,7 @@ fn main() { let mut room = gen_room(); let storage = FileStorage::new(FileStorage::savedir().expect("couldn't find any save directory")); - if let Ok(state) = storage.load_room("room".to_string()) { + if let Ok(state) = storage.load_room(RoomId::from_str("room")) { room.load_saved(&state); println!("loaded saved state successfully"); } else { @@ -83,9 +85,9 @@ fn main() { Action::Join(player) => { let state = match storage.load_player(player.clone()) { Ok(state) => state, - Err(_) => PlayerState::new(player.name.clone()) + Err(_) => PlayerState::new(player.clone()) }; - room.add_player(player.clone(), &state); + room.add_player(&state); } Action::Leave(player) => { if let Err(err) = storage.save_player(player.clone(), room.remove_player(player).unwrap()) { @@ -97,7 +99,7 @@ fn main() { room.set_input(inputs); room.update(); if count % 50 == 0 { - if let Err(err) = storage.save_room(room.name.clone(), room.save()) { + if let Err(err) = storage.save_room(room.id.clone(), room.save()) { println!("{:?}",err); } else { println!("{}", room.save().to_json()); @@ -122,7 +124,7 @@ fn main() { fn gen_room<'a, 'b>() -> Room<'a, 'b> { let assemblages = default_encyclopedia(); - let mut room = Room::new("room", assemblages); + let mut room = Room::new(RoomId::from_str("room"), assemblages); let roomtemplate = RoomTemplate::from_json(&json!({ "width": 42, |
