use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
#[cfg_attr(feature = "specta", derive(specta::Type))]
pub struct MapSchema {
#[serde(rename = "map_id")]
pub map_id: i32,
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "skin")]
pub skin: String,
#[serde(rename = "x")]
pub x: i32,
#[serde(rename = "y")]
pub y: i32,
#[serde(rename = "layer")]
pub layer: models::MapLayer,
#[serde(rename = "access")]
pub access: Box<models::AccessSchema>,
#[serde(rename = "interactions")]
pub interactions: Box<models::InteractionSchema>,
}
impl MapSchema {
pub fn new(
map_id: i32,
name: String,
skin: String,
x: i32,
y: i32,
layer: models::MapLayer,
access: models::AccessSchema,
interactions: models::InteractionSchema,
) -> MapSchema {
MapSchema {
map_id,
name,
skin,
x,
y,
layer,
access: Box::new(access),
interactions: Box::new(interactions),
}
}
}