artifacts/models/
active_character_schema.rs

1use crate::models;
2use serde::{Deserialize, Serialize};
3
4#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
5#[cfg_attr(feature = "specta", derive(specta::Type))]
6pub struct ActiveCharacterSchema {
7    /// Name of the character.
8    #[serde(rename = "name")]
9    pub name: String,
10    /// Account name.
11    #[serde(rename = "account")]
12    pub account: String,
13    /// Character skin code.
14    #[serde(rename = "skin")]
15    pub skin: models::CharacterSkin,
16    /// Character x coordinate.
17    #[serde(rename = "x")]
18    pub x: i32,
19    /// Character y coordinate.
20    #[serde(rename = "y")]
21    pub y: i32,
22    /// Character current layer.
23    #[serde(rename = "layer")]
24    pub layer: models::MapLayer,
25    /// Character current map ID.
26    #[serde(rename = "map_id")]
27    pub map_id: i32,
28}
29
30impl ActiveCharacterSchema {
31    pub fn new(
32        name: String,
33        account: String,
34        skin: models::CharacterSkin,
35        x: i32,
36        y: i32,
37        layer: models::MapLayer,
38        map_id: i32,
39    ) -> ActiveCharacterSchema {
40        ActiveCharacterSchema {
41            name,
42            account,
43            skin,
44            x,
45            y,
46            layer,
47            map_id,
48        }
49    }
50}