use serde::{
Deserialize,
Serialize
};
#[allow(unused)]
use crate::careersavegame::Statistics;
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Data {
pub server: Option<Server>,
pub slots: Option<Slots>,
pub vehicles: Vec<Vehicle>,
pub mods: Vec<Mod>
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Server {
#[serde(rename = "dayTime")]
pub day_time: i32,
pub game: String,
#[serde(rename = "mapName")]
pub map_name: String,
#[serde(rename = "mapSize")]
pub map_size: i32,
#[serde(rename = "mapOverviewFilename")]
pub map_overview_filename: String,
pub money: i32,
pub name: String,
pub version: String
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Slots {
pub capacity: i8,
pub used: i8,
pub players: Vec<Player>
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Player {
#[serde(rename = "isUsed")]
pub is_used: Option<bool>,
#[serde(rename = "isAdmin")]
pub is_admin: Option<bool>,
pub uptime: Option<i32>,
pub x: Option<f32>,
pub y: Option<f32>,
pub z: Option<f32>,
pub name: Option<String>
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Vehicle {
pub name: Option<String>,
pub category: Option<String>,
pub x: Option<f32>,
pub y: Option<f32>,
pub z: Option<f32>,
pub fills: Option<Vec<VehicleFill>>
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct VehicleFill {
#[serde(rename = "type")]
pub type_: Option<String>,
pub level: Option<i32>
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Mod {
pub author: Option<String>,
pub hash: Option<String>,
pub name: Option<String>,
pub version: Option<String>,
pub description: Option<String>
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Field {
pub id: Option<i32>,
#[serde(rename = "isOwned")]
pub is_owned: Option<bool>,
pub x: Option<f32>,
pub z: Option<f32>
}