wolfrpg_map_parser/command/common_event_command/
argument_count.rs

1#[cfg(feature = "serde")]
2use serde::{Serialize, Deserialize};
3
4#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
5#[derive(PartialEq, Clone)]
6pub struct ArgumentCount {
7    number_arguments: u8,
8    string_arguments: u8
9}
10
11impl ArgumentCount {
12    pub fn new(argument_count: u8) -> Self {
13        Self {
14            number_arguments: argument_count & 0x0f,
15            string_arguments: argument_count >> 4,
16        }
17    }
18
19    pub fn number_arguments(&self) -> u8 {
20        self.number_arguments
21    }
22
23    pub fn number_arguments_mut(&mut self) -> &mut u8 {
24        &mut self.number_arguments
25    }
26
27    pub fn string_arguments(&self) -> u8 {
28        self.string_arguments
29    }
30
31    pub fn string_arguments_mut(&mut self) -> &mut u8 {
32        &mut self.string_arguments
33    }
34}