///|
/// 所有权关系在 model 层以枚举形式保存,避免重复的布尔字段。
pub enum Relation {
Mine
Enemy
Neutral
} derive(Show, Eq, Compare)
///|
/// 将可能为 `None` 的 `my` 标记转换为统一的 `Relation`。
pub fn relation_of_my_flag(my : Bool?) -> Relation {
match my {
Some(true) => Mine
Some(false) => Enemy
None => Neutral
}
}
///|
/// 将非空的 `my` 布尔值转换为统一的 `Relation`。
pub fn relation_of_my_bool(my : Bool) -> Relation {
if my {
Mine
} else {
Enemy
}
}