wolfrpg_map_parser/command/db_management_command/
assignment_operator.rs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#[cfg(feature = "serde")]
use serde::Serialize;

#[cfg_attr(feature = "serde", derive(Serialize))]
pub enum AssignmentOperator {
    Equals          = 0x00,
    PlusEquals      = 0x01,
    MinusEquals     = 0x02,
    TimesEquals     = 0x03,
    DivideEquals    = 0x04,
    RemainderEquals = 0x05,
    LowerBound      = 0x06,
    UpperBound      = 0x07,
    Unknown
}

impl AssignmentOperator {
    pub const fn new(operator: u8) -> Self {
        match operator {
            0x00 => AssignmentOperator::Equals,
            0x01 => AssignmentOperator::PlusEquals,
            0x02 => AssignmentOperator::MinusEquals,
            0x03 => AssignmentOperator::TimesEquals,
            0x04 => AssignmentOperator::DivideEquals,
            0x05 => AssignmentOperator::RemainderEquals,
            0x06 => AssignmentOperator::LowerBound,
            0x07 => AssignmentOperator::UpperBound,
            _ => AssignmentOperator::Unknown
        }
    }
}