#[derive(serde::Serialize, serde::Deserialize)]
#[serde(untagged)]
enum Tile {
BaseTile {
image: String,
end: f64,
baseSpeed: f64,
},
ExtendingTile {
end: f64,
image: String,
extend: TileType,
baseSpeed: Option<f64>,
},
}
impl Tile {
pub fn get_end(&self) -> f64 {
match &self {
Tile::BaseTile { end, .. } | Tile::ExtendingTile { end, .. } => *end,
}
}
}
pub enum Example {
NoValue,
OneValue(f64),
TwoValues(f64,i32)
}