use crate::edicts::Edict;
use sdk_raw::vcall;
use std::ffi::CStr;
use std::ptr::NonNull;
interface! {
#[doc(alias("IBotManager", "CPluginBotManager"))]
pub struct BotManager(sys::IBotManager) = GameServer sdk_raw::interfaces::bot_manager::VERSION;
}
impl<'s> BotManager<'s> {
#[doc(alias("CreateBot"))]
pub fn create_bot(self, name: &CStr) -> Option<Edict<'s>> {
let edict = unsafe { vcall!(self.as_ptr() => IBotManager_CreateBot(name.as_ptr())) };
NonNull::new(edict).map(|edict| unsafe { Edict::from_raw(edict) })
}
}