rpgmvx_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 height: i32,
18    #[ruby_marshal(
19        from_value = "crate::util::ruby_string2string",
20        into_value = "crate::util::string2ruby_string"
21    )]
22    pub parallax_name: String,
23    pub events: HashMap<i32, Event>,
24    pub bgm: Bgm,
25    pub parallax_sx: i32,
26    pub width: i32,
27    pub encounter_step: i32,
28    pub bgs: Bgs,
29    pub data: Table,
30    pub autoplay_bgm: bool,
31    pub parallax_loop_y: bool,
32    /// I haven't encountered a non-empty field here.
33    /// If you see one open an issue.
34    pub encounter_list: Vec<i32>,
35    pub autoplay_bgs: bool,
36    pub parallax_show: bool,
37    pub scroll_type: i32,
38    pub parallax_loop_x: bool,
39    pub disable_dashing: bool,
40    pub parallax_sy: i32,
41}