use crate::Direction;
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
pub enum Step {
Move(Direction),
PushOrPull(Direction),
Jump(Direction),
PusherChange(Direction),
}
impl Step {
pub fn direction(&self) -> Direction {
match *self {
Step::Move(direction)
| Step::PushOrPull(direction)
| Step::PusherChange(direction)
| Step::Jump(direction) => direction,
}
}
}