wolfrpg_map_parser/command/set_variable_plus_command/
assignment_operator.rs1#[cfg(feature = "serde")]
2use serde::{Serialize, Deserialize};
3
4#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
5#[derive(PartialEq, Clone)]
6pub enum AssignmentOperator {
7 Equals = 0x00,
8 PlusEquals = 0x01,
9 MinusEquals = 0x02,
10 TimesEquals = 0x03,
11 DivideEquals = 0x04,
12 RemainderEquals = 0x05,
13 LowerBound = 0x06,
14 UpperBound = 0x07,
15 Absolute = 0x08,
16 Unknown
17}
18
19impl AssignmentOperator {
20 pub const fn new(operator: u8) -> Self {
21 match operator {
22 0x00 => AssignmentOperator::Equals,
23 0x01 => AssignmentOperator::PlusEquals,
24 0x02 => AssignmentOperator::MinusEquals,
25 0x03 => AssignmentOperator::TimesEquals,
26 0x04 => AssignmentOperator::DivideEquals,
27 0x05 => AssignmentOperator::RemainderEquals,
28 0x06 => AssignmentOperator::LowerBound,
29 0x07 => AssignmentOperator::UpperBound,
30 0x08 => AssignmentOperator::Absolute,
31 _ => AssignmentOperator::Unknown
32 }
33 }
34}