1use crate::Bgm;
2use crate::Bgs;
3use crate::Event;
4use crate::Table;
5use std::collections::HashMap;
6
7#[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 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}