ldtk_rust 0.1.0

Use the LDtk 2D level editor to build games in Rust.
Documentation
use serde::Deserialize;

#[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Level {
    pub identifier: String,
    pub uid: i32,
    pub world_x: i32,
    pub world_y: i32,
    pub px_wid: i32,
    pub px_hei: i32,
    #[serde(rename = "__bgColor")]
    pub __bg_color: String,
    pub bg_color: Option<String>,
    pub layer_instances: Vec<LayerInstance>,
    //#[serde(rename = "__neighbours")]
    //pub __neighbours: Vec<Neighbor>,
}

#[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct LayerInstance {
    #[serde(rename = "__identifier")]
    pub __identifier: String,
    #[serde(rename = "__type")]
    pub __type: String,
    #[serde(rename = "__cWid")]
    pub __c_wid: i32,
    #[serde(rename = "__cHei")]
    pub __c_hei: i32,
    #[serde(rename = "__gridSize")]
    pub __grid_size: i32,
    #[serde(rename = "__opacity")]
    pub __opacity: f32,
    #[serde(rename = "__pxTotalOffsetX")]
    pub __px_total_offset_x: i32,
    #[serde(rename = "__pxTotalOffsetY")]
    pub __px_total_offset_y: i32,
    #[serde(rename = "__tilesetDefUid")]
    pub __tileset_def_uid: Option<i32>,
    #[serde(rename = "__tilesetRelPath")]
    pub __tileset_rel_path: Option<String>,
    pub level_id: i32,
    pub layer_def_uid: i32,
    pub px_offset_x: i32,
    pub px_offset_y: i32,
    pub int_grid: Vec<IntGrid>,
    pub auto_layer_tiles: Vec<TileInstance>,
    pub seed: i32,
    pub grid_tiles: Vec<TileInstance>,
    //pub entity_instances: Vec<EntityInstance>,
}
#[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct IntGrid {
    pub coord_id: i32,
    pub v: i32,
}

#[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct TileInstance {
    pub px: Vec<i32>,
    pub src: Vec<i32>,
    pub f: u8,
    pub t: i32,
    pub d: Vec<i32>,
}