use crate::ffi::vcall;
use std::ffi::c_int;
use std::mem::{offset_of, size_of};
interface! {
#[doc(alias = "IServerGameClients")]
pub struct ServerGameClients(sys::IServerGameClients) = GameServer c"ServerGameClients005";
}
pub const CLIENT_COMMAND_VTABLE_SLOT: usize = 5;
const _: () = assert!(
offset_of!(
sys::IServerGameClients__bindgen_vtable,
IServerGameClients_ClientCommand
) == size_of::<*const ()>() * CLIENT_COMMAND_VTABLE_SLOT
);
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct PlayerLimits {
pub minimum: c_int,
pub maximum: c_int,
pub default: c_int,
}
impl<'s> ServerGameClients<'s> {
#[doc(alias = "GetPlayerLimits")]
pub fn player_limits(self) -> PlayerLimits {
let (mut minimum, mut maximum, mut default) = (0, 0, 0);
unsafe {
vcall!(self.as_ptr() => IServerGameClients_GetPlayerLimits(&mut minimum, &mut maximum, &mut default))
};
PlayerLimits {
minimum,
maximum,
default,
}
}
}