use crate::bitbuf::BitWriter;
use crate::user_messages::UserMessage;
pub fn payload(message: &impl UserMessage) -> BitWriter {
let mut out = BitWriter::new();
message.write(&mut out).unwrap();
out
}
#[cfg(test)]
pub(crate) fn recipients(
players: &[std::ffi::c_int],
reliable: bool,
) -> crate::user_messages::Recipients {
use crate::edicts::Edict;
use crate::user_messages::Recipients;
use sdk_raw::test_support::edicts::mock_edict;
let mut recipients = Recipients::new();
for &index in players {
let edict = std::ptr::NonNull::from(Box::leak(Box::new(mock_edict(index, false))));
recipients.add(unsafe { Edict::from_raw(edict) });
}
assert_eq!(recipients.players(), players, "each player is listed once");
match reliable {
true => recipients.reliable(),
false => recipients,
}
}