From 86cdc6c567d0ca429d69bebbb2fb02f1d3754c8d Mon Sep 17 00:00:00 2001 From: troido Date: Sun, 23 Feb 2020 23:44:50 +0100 Subject: players can now attack other objects --- src/controls.rs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src/controls.rs') diff --git a/src/controls.rs b/src/controls.rs index 29d45a0..d7471e5 100644 --- a/src/controls.rs +++ b/src/controls.rs @@ -44,7 +44,8 @@ pub enum Control { Move(Direction), Take(Option), Drop(usize), - Use(usize) + Use(usize), + Attack(Vec) } @@ -59,6 +60,13 @@ impl Control { "take" => Some(Control::Take(val.get(1)?.as_u64().map(|idx| idx as usize))), "drop" => Some(Control::Drop(val.get(1)?.as_u64().unwrap_or(0) as usize)), "use" => Some(Control::Use(val.get(1)?.as_u64().unwrap_or(0) as usize)), + "attack" => Some(Control::Attack({ + let mut directions = Vec::new(); + for dir in val.get(1)?.as_array()? { + directions.push(Direction::from_json(dir)?); + } + directions + })), _ => None } } else {None} -- cgit