rust/hedgewars-server/src/core/client.rs
changeset 16120 5febd2bc5372
parent 16018 fb389df02e3e
--- a/rust/hedgewars-server/src/core/client.rs	Mon Feb 17 16:38:24 2025 +0100
+++ b/rust/hedgewars-server/src/core/client.rs	Sat Feb 22 19:39:31 2025 +0300
@@ -1,8 +1,9 @@
 use super::types::ClientId;
 use bitflags::*;
+use std::ops::Deref;
 
 bitflags! {
-    pub struct ClientFlags: u8 {
+    pub struct ClientFlags: u16 {
         const IS_ADMIN = 0b0000_0001;
         const IS_MASTER = 0b0000_0010;
         const IS_READY = 0b0000_0100;
@@ -11,6 +12,7 @@
         const HAS_SUPER_POWER = 0b0010_0000;
         const IS_REGISTERED = 0b0100_0000;
         const IS_MODERATOR = 0b1000_0000;
+        const IS_REJOINED = 0b1_0000_0000;
 
         const NONE = 0b0000_0000;
         const DEFAULT = Self::NONE.bits;
@@ -72,6 +74,9 @@
     pub fn is_registered(&self) -> bool {
         self.contains(ClientFlags::IS_REGISTERED)
     }
+    pub fn is_rejoined(&self) -> bool {
+        self.contains(ClientFlags::IS_REJOINED)
+    }
 
     pub fn set_is_admin(&mut self, value: bool) {
         self.set(ClientFlags::IS_ADMIN, value)
@@ -94,4 +99,7 @@
     pub fn set_is_registered(&mut self, value: bool) {
         self.set(ClientFlags::IS_REGISTERED, value)
     }
+    pub fn set_is_rejoined(&mut self, value: bool) {
+        self.set(ClientFlags::IS_REJOINED, value)
+    }
 }