diff options
| author | troido <troido@protonmail.com> | 2020-09-24 18:58:49 +0200 |
|---|---|---|
| committer | troido <troido@protonmail.com> | 2020-09-24 18:58:49 +0200 |
| commit | 13b53f3e89bcd6d33a534403162d1b09502bec70 (patch) | |
| tree | 32347d20893a5c901e64a7003262b5212966ecb1 /src/gameserver.rs | |
| parent | 5ae2f9040324baaeaed3f91a84662425cb6186dc (diff) | |
even more serde stuff
Diffstat (limited to 'src/gameserver.rs')
| -rw-r--r-- | src/gameserver.rs | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/gameserver.rs b/src/gameserver.rs index 5c20b13..7910d99 100644 --- a/src/gameserver.rs +++ b/src/gameserver.rs @@ -4,6 +4,7 @@ use std::collections::HashMap; use std::io; use serde_json::{Value, json}; +use serde::{Deserialize}; use unicode_categories::UnicodeCategories; use crate::{ @@ -180,7 +181,7 @@ impl GameServer { } Message::Input(inp) => { let player = self.players.get(&id).ok_or(merr!(action, "Set a name before you send any other messages"))?; - let control = Control::from_json(&inp).ok_or(merr!(action, &format!("unknown action: {}", inp)))?; + let control = Control::deserialize(&inp).map_err(|err| merr!(action, &format!("unknown action {} {}", inp, err)))?; Ok(Some(Action::Input(player.clone(), control))) } } |
