equal
deleted
inserted
replaced
1 use super::types::ClientId; |
1 use super::types::ClientId; |
2 use bitflags::*; |
2 use bitflags::*; |
|
3 use std::ops::Deref; |
3 |
4 |
4 bitflags! { |
5 bitflags! { |
5 pub struct ClientFlags: u8 { |
6 pub struct ClientFlags: u16 { |
6 const IS_ADMIN = 0b0000_0001; |
7 const IS_ADMIN = 0b0000_0001; |
7 const IS_MASTER = 0b0000_0010; |
8 const IS_MASTER = 0b0000_0010; |
8 const IS_READY = 0b0000_0100; |
9 const IS_READY = 0b0000_0100; |
9 const IS_IN_GAME = 0b0000_1000; |
10 const IS_IN_GAME = 0b0000_1000; |
10 const IS_CONTRIBUTOR = 0b0001_0000; |
11 const IS_CONTRIBUTOR = 0b0001_0000; |
11 const HAS_SUPER_POWER = 0b0010_0000; |
12 const HAS_SUPER_POWER = 0b0010_0000; |
12 const IS_REGISTERED = 0b0100_0000; |
13 const IS_REGISTERED = 0b0100_0000; |
13 const IS_MODERATOR = 0b1000_0000; |
14 const IS_MODERATOR = 0b1000_0000; |
|
15 const IS_REJOINED = 0b1_0000_0000; |
14 |
16 |
15 const NONE = 0b0000_0000; |
17 const NONE = 0b0000_0000; |
16 const DEFAULT = Self::NONE.bits; |
18 const DEFAULT = Self::NONE.bits; |
17 } |
19 } |
18 } |
20 } |
70 self.contains(ClientFlags::HAS_SUPER_POWER) |
72 self.contains(ClientFlags::HAS_SUPER_POWER) |
71 } |
73 } |
72 pub fn is_registered(&self) -> bool { |
74 pub fn is_registered(&self) -> bool { |
73 self.contains(ClientFlags::IS_REGISTERED) |
75 self.contains(ClientFlags::IS_REGISTERED) |
74 } |
76 } |
|
77 pub fn is_rejoined(&self) -> bool { |
|
78 self.contains(ClientFlags::IS_REJOINED) |
|
79 } |
75 |
80 |
76 pub fn set_is_admin(&mut self, value: bool) { |
81 pub fn set_is_admin(&mut self, value: bool) { |
77 self.set(ClientFlags::IS_ADMIN, value) |
82 self.set(ClientFlags::IS_ADMIN, value) |
78 } |
83 } |
79 pub fn set_is_master(&mut self, value: bool) { |
84 pub fn set_is_master(&mut self, value: bool) { |
92 self.set(ClientFlags::HAS_SUPER_POWER, value) |
97 self.set(ClientFlags::HAS_SUPER_POWER, value) |
93 } |
98 } |
94 pub fn set_is_registered(&mut self, value: bool) { |
99 pub fn set_is_registered(&mut self, value: bool) { |
95 self.set(ClientFlags::IS_REGISTERED, value) |
100 self.set(ClientFlags::IS_REGISTERED, value) |
96 } |
101 } |
|
102 pub fn set_is_rejoined(&mut self, value: bool) { |
|
103 self.set(ClientFlags::IS_REJOINED, value) |
|
104 } |
97 } |
105 } |