wolfrpg_map_parser/command/set_variable_plus_command/
other.rs1use 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}