error handling for position

This commit is contained in:
2020-04-29 18:33:22 +01:00
parent 6533de8b8c
commit 9d5b7af316
4 changed files with 48 additions and 32 deletions

View File

@@ -1,4 +1,5 @@
use crate::{from_base36, Position, ToBase36};
use std::str::FromStr;
#[derive(Debug, Eq, PartialEq)]
pub enum Transition {
@@ -63,7 +64,7 @@ impl From<String> for Exit {
// e.g. "EXT 6,4 0 10,12 FX fade_w"
let room_position_effect: Vec<&str> = string.split_whitespace().collect();
let room_id = from_base36(room_position_effect[0]);
let position = Position::from(room_position_effect[1].to_string()).unwrap();
let position = Position::from_str(room_position_effect[1]).unwrap();
let effect = if room_position_effect.len() == 4 {
Transition::from(room_position_effect[3])