rpgmvx_ace_types/
map.rs

1use crate::Bgm;
2use crate::Bgs;
3use crate::Event;
4use crate::Table;
5use std::collections::HashMap;
6
7/// A Map
8#[derive(
9    Debug,
10    serde::Serialize,
11    serde::Deserialize,
12    ruby_marshal_derive::FromValue,
13    ruby_marshal_derive::IntoValue,
14)]
15#[ruby_marshal(object = b"RPG::Map")]
16pub struct Map {
17    pub tileset_id: i32,
18    #[ruby_marshal(
19        from_value = "rpgm_common_types::util::ruby_string2string",
20        into_value = "rpgm_common_types::util::string2ruby_string"
21    )]
22    pub parallax_name: String,
23    pub width: i32,
24    pub height: i32,
25    pub events: HashMap<i32, Event>,
26    pub parallax_sx: i32,
27    pub parallax_sy: i32,
28    pub bgm: Bgm,
29    pub encounter_step: i32,
30    pub data: Table,
31    pub bgs: Bgs,
32    pub parallax_loop_x: bool,
33    pub parallax_loop_y: bool,
34    /// I haven't encountered a non-empty field here.
35    /// If you see one open an issue.
36    pub encounter_list: Vec<i32>,
37    pub autoplay_bgm: bool,
38    pub disable_dashing: bool,
39    pub autoplay_bgs: bool,
40    pub parallax_show: bool,
41    pub scroll_type: i32,
42    #[ruby_marshal(
43        from_value = "rpgm_common_types::util::ruby_string2string",
44        into_value = "rpgm_common_types::util::string2ruby_string"
45    )]
46    pub display_name: String,
47    pub specify_battleback: bool,
48    #[ruby_marshal(
49        from_value = "rpgm_common_types::util::ruby_string2string",
50        into_value = "rpgm_common_types::util::string2ruby_string"
51    )]
52    pub note: String,
53    #[ruby_marshal(
54        from_value = "rpgm_common_types::util::ruby_string2string",
55        into_value = "rpgm_common_types::util::string2ruby_string"
56    )]
57    pub battleback1_name: String,
58    #[ruby_marshal(
59        from_value = "rpgm_common_types::util::ruby_string2string",
60        into_value = "rpgm_common_types::util::string2ruby_string"
61    )]
62    pub battleback2_name: String,
63}