rpgmxp_types/
animation.rs

1use crate::AnimationFrame;
2use crate::AnimationTiming;
3
4#[derive(
5    Debug,
6    serde::Serialize,
7    serde::Deserialize,
8    ruby_marshal_derive::FromValue,
9    ruby_marshal_derive::IntoValue,
10)]
11#[ruby_marshal(object = b"RPG::Animation")]
12pub struct Animation {
13    pub id: i32,
14    #[ruby_marshal(
15        from_value = "crate::util::ruby_string2string",
16        into_value = "crate::util::string2ruby_string"
17    )]
18    pub name: String,
19    #[ruby_marshal(
20        from_value = "crate::util::ruby_string2string",
21        into_value = "crate::util::string2ruby_string"
22    )]
23    pub animation_name: String,
24    pub animation_hue: i32,
25    pub position: i32,
26    pub frame_max: i32,
27    pub frames: Vec<AnimationFrame>,
28    pub timings: Vec<AnimationTiming>,
29}