wolfrpg_map_parser/command/db_management_command/
assignment.rs

1#[cfg(feature = "serde")]
2use serde::{Serialize, Deserialize};
3use crate::command::db_management_command::assignment_operator::AssignmentOperator;
4
5#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
6#[derive(PartialEq, Clone)]
7pub struct Assignment {
8    use_variable_as_reference: bool,
9    operator: AssignmentOperator
10}
11
12impl Assignment {
13    pub fn new(assignment: u8) -> Self {
14        Self {
15            use_variable_as_reference: assignment & 0b00000001 != 0,
16            operator: AssignmentOperator::new(assignment >> 4)
17        }
18    }
19
20    pub fn use_variable_as_reference(&self) -> bool {
21        self.use_variable_as_reference
22    }
23
24    pub fn use_variable_as_reference_mut(&mut self) -> &mut bool {
25        &mut self.use_variable_as_reference
26    }
27
28    pub fn operator(&self) -> &AssignmentOperator {
29        &self.operator
30    }
31
32    pub fn operator_mut(&mut self) -> &mut AssignmentOperator {
33        &mut self.operator
34    }
35}