--- 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)
+ }
}