use super::{BoxID, GoalID, PusherID};
use crate::PlusID;
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
pub struct Pusher {
pub id: PusherID,
pub x: usize,
pub y: usize,
}
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
pub struct Boxbox {
pub id: BoxID,
pub x: usize,
pub y: usize,
pub plus_id: Option<PlusID>,
}
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
pub struct Goal {
pub id: GoalID,
pub x: usize,
pub y: usize,
pub plus_id: Option<PlusID>,
}