#![allow(non_camel_case_types, non_snake_case)]
use std::{
ops::{Deref, DerefMut},
os::raw::c_void,
};
use crate::{bindings::server::cai_component::CAI_Component, field_assert, size_assert};
#[repr(C)]
#[derive(Debug)]
pub struct CAI_BehaviorBase {
pub base: CAI_Component,
pub IAI_BehaviorBridge: *mut c_void, pub m_ScheduleChannels: [u8; 32], pub m_fOverrode: bool, pub gap_39: [u8; 7],
pub m_pBackBridge: *mut c_void, pub m_bAllocated: bool, pub m_bBehaviorEnabled: bool, pub gap_4a: [u8; 2],
pub m_behaviorType: i32, }
size_assert!(CAI_BEHAVIORBASE where CAI_BehaviorBase == 0x50);
field_assert!(+ IAI_BEHAVIORBRIDGE where CAI_BehaviorBase, IAI_BehaviorBridge == 0x8);
field_assert!(+ M_SCHEDULECHANNELS where CAI_BehaviorBase, m_ScheduleChannels == 0x10);
field_assert!(+ M_FOVERRODE where CAI_BehaviorBase, m_fOverrode == 0x30);
field_assert!(+ M_PBACKBRIDGE where CAI_BehaviorBase, m_pBackBridge == 0x38);
field_assert!(+ M_BALLOCATED where CAI_BehaviorBase, m_bAllocated == 0x40);
field_assert!(+ M_BBEHAVIORENABLED where CAI_BehaviorBase, m_bBehaviorEnabled == 0x41);
field_assert!(+ M_BEHAVIORTYPE where CAI_BehaviorBase, m_behaviorType == 0x44);
impl DerefMut for CAI_BehaviorBase {
fn deref_mut(&mut self) -> &mut Self::Target {
&mut self.base
}
}
impl Deref for CAI_BehaviorBase {
type Target = CAI_Component;
fn deref(&self) -> &Self::Target {
&self.base
}
}