wolfrpg_map_parser/command/common_event_command/
argument_count.rs1#[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}