assembly_xml/obj/
mod.rs

1//! # The XML `<obj>` format (character data)
2//!
3//! This module contains reader and writer and datastructures for
4//! the character data as serialized to XML.
5
6use serde::{Deserialize, Serialize};
7
8use self::{
9    char::Character, dest::Destructible, flag::Flags, inv::Inventory, lvl::Level, mf::Minifig,
10    mis::Missions, pet::Pets, res::Respawn,
11};
12
13/// Data for a (player) object `<obj>`
14#[derive(Default, Debug, PartialEq, Deserialize, Serialize)]
15#[serde(rename = "obj")]
16pub struct Object {
17    /// Version
18    #[serde(rename = "v")]
19    pub version: u32,
20    /// Minifigure Component
21    #[serde(rename = "mf")]
22    pub minifig: Minifig,
23    /// Character
24    #[serde(rename = "char")]
25    pub character: Character,
26    /// Destructible Component
27    #[serde(rename = "dest")]
28    pub destructible: Destructible,
29    /// Inventory Component
30    #[serde(rename = "inv")]
31    pub inventory: Inventory,
32    /// Level Progression
33    #[serde(rename = "lvl")]
34    pub level: Level,
35    /// Flags
36    #[serde(rename = "flag")]
37    pub flags: Flags,
38    /// Respawn points
39    #[serde(rename = "res")]
40    pub respawn: Respawn,
41    /// Missions
42    #[serde(rename = "mis")]
43    pub missions: Missions,
44    /// Pets
45    #[serde(rename = "pet")]
46    pub pets: Pets,
47}
48
49pub mod char;
50pub mod dest;
51pub mod flag;
52pub mod inv;
53pub mod lvl;
54pub mod mf;
55pub mod mis;
56pub mod pet;
57pub mod res;