wolfrpg_map_parser/command/set_variable_plus_command/
other.rs

1use crate::byte_utils::as_u32_le;
2use crate::command::set_variable_plus_command::target::Target;
3#[cfg(feature = "serde")]
4use serde::{Serialize, Deserialize};
5
6#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
7#[derive(PartialEq, Clone)]
8pub struct Other {
9    target: Target
10}
11
12impl Other {
13    pub(crate) fn parse(bytes: &[u8]) -> (usize, Self) {
14        let mut offset: usize = 0;
15
16        offset += 2;
17
18        let target: u32 = as_u32_le(&bytes[offset..offset + 4]);
19        let target: Target = Target::new(target);
20        offset += 4;
21
22        (offset, Self {
23            target
24        })
25    }
26
27    pub fn target(&self) -> &Target {
28        &self.target
29    }
30
31    pub fn target_mut(&mut self) -> &mut Target {
32        &mut self.target
33    }
34}