#[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)
}