rust/hedgewars-server/src/server/client.rs
changeset 14791 b889d9e1115f
parent 14786 8ecdb5c6bb2a
equal deleted inserted replaced
14790:e94fbf6cad2b 14791:b889d9e1115f
     1 use super::coretypes::ClientId;
     1 use super::coretypes::ClientId;
     2 use bitflags::*;
     2 use bitflags::*;
     3 
     3 
     4 bitflags! {
     4 bitflags! {
     5     pub struct ClientFlags: u8 {
     5     pub struct ClientFlags: u16 {
     6         const IS_ADMIN = 0b0000_0001;
     6         const IS_ADMIN = 0b0000_0001;
     7         const IS_MASTER = 0b0000_0010;
     7         const IS_MASTER = 0b0000_0010;
     8         const IS_READY = 0b0000_0100;
     8         const IS_READY = 0b0000_0100;
     9         const IS_IN_GAME = 0b0000_1000;
     9         const IS_IN_GAME = 0b0000_1000;
    10         const IS_JOINED_MID_GAME = 0b0001_0000;
    10         const IS_JOINED_MID_GAME = 0b0001_0000;
    11         const IS_CHECKER = 0b0010_0000;
    11         const IS_CHECKER = 0b0010_0000;
    12         const IS_CONTRIBUTOR = 0b0100_0000;
    12         const IS_CONTRIBUTOR = 0b0100_0000;
    13         const HAS_SUPER_POWER = 0b1000_0000;
    13         const HAS_SUPER_POWER = 0b1000_0000;
       
    14         const IS_REGISTERED = 0b0001_0000_0000;
    14 
    15 
    15         const NONE = 0b0000_0000;
    16         const NONE = 0b0000_0000;
    16         const DEFAULT = Self::NONE.bits;
    17         const DEFAULT = Self::NONE.bits;
    17     }
    18     }
    18 }
    19 }
    72         self.contains(ClientFlags::IS_CONTRIBUTOR)
    73         self.contains(ClientFlags::IS_CONTRIBUTOR)
    73     }
    74     }
    74     pub fn has_super_power(&self) -> bool {
    75     pub fn has_super_power(&self) -> bool {
    75         self.contains(ClientFlags::HAS_SUPER_POWER)
    76         self.contains(ClientFlags::HAS_SUPER_POWER)
    76     }
    77     }
       
    78     pub fn is_registered(&self) -> bool {
       
    79         self.contains(ClientFlags::IS_REGISTERED)
       
    80     }
    77 
    81 
    78     pub fn set_is_admin(&mut self, value: bool) {
    82     pub fn set_is_admin(&mut self, value: bool) {
    79         self.set(ClientFlags::IS_ADMIN, value)
    83         self.set(ClientFlags::IS_ADMIN, value)
    80     }
    84     }
    81     pub fn set_is_master(&mut self, value: bool) {
    85     pub fn set_is_master(&mut self, value: bool) {
    97         self.set(ClientFlags::IS_CONTRIBUTOR, value)
   101         self.set(ClientFlags::IS_CONTRIBUTOR, value)
    98     }
   102     }
    99     pub fn set_has_super_power(&mut self, value: bool) {
   103     pub fn set_has_super_power(&mut self, value: bool) {
   100         self.set(ClientFlags::HAS_SUPER_POWER, value)
   104         self.set(ClientFlags::HAS_SUPER_POWER, value)
   101     }
   105     }
       
   106     pub fn set_is_registered(&mut self, value: bool) {
       
   107         self.set(ClientFlags::IS_REGISTERED, value)
       
   108     }
   102 }
   109 }