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