wolfrpg_map_parser/common/
compare_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
#[cfg(feature = "serde")]
use serde::Serialize;

#[cfg_attr(feature = "serde", derive(Serialize))]
pub enum CompareOperator {
    GreaterThan     = 0x00,
    GreaterOrEquals = 0x01,
    Equals          = 0x02,
    LessOrEquals    = 0x03,
    LessThan        = 0x04,
    NotEqual        = 0x05,
    BitwiseAnd      = 0x06,
    Unknown
}

impl CompareOperator {
    pub const fn new(operator: u8) -> Self {
        match operator {
            0x00 => CompareOperator::GreaterThan,
            0x01 => CompareOperator::GreaterOrEquals,
            0x02 => CompareOperator::Equals,
            0x03 => CompareOperator::LessOrEquals,
            0x04 => CompareOperator::LessThan,
            0x05 => CompareOperator::NotEqual,
            0x06 => CompareOperator::BitwiseAnd,
            _ => CompareOperator::Unknown
        }
    }
}