wolfrpg_map_parser/command/event_control_command/
erase_event.rs1#[cfg(feature = "serde")]
2use serde::{Serialize, Deserialize};
3use crate::byte_utils::as_u32_le;
4
5#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
6#[derive(PartialEq, Clone)]
7pub struct EraseEvent {
8 event: u32,
9 fade_frames: u32
10}
11
12impl EraseEvent {
13 pub(crate) fn parse(bytes: &[u8]) -> (usize, Self) {
14 let mut offset: usize = 0;
15
16 let event: u32 = as_u32_le(&bytes[offset..offset + 4]);
17 offset += 4;
18
19 let fade_frames: u32 = as_u32_le(&bytes[offset..offset + 4]);
20 offset += 4;
21
22 offset += 3; (offset, EraseEvent {
25 event,
26 fade_frames
27 })
28 }
29
30 pub fn event(&self) -> u32 {
31 self.event
32 }
33
34 pub fn event_mut(&mut self) -> &mut u32 {
35 &mut self.event
36 }
37
38 pub fn fade_frames(&self) -> u32 {
39 self.fade_frames
40 }
41
42 pub fn fade_frames_mut(&mut self) -> &mut u32 {
43 &mut self.fade_frames
44 }
45}