1//! # bhkUnaryAction
2//!
3//! This module defines the `bhkUnaryAction` struct, which inherits from `bhkAction`
4//! and represents a serializable object in the physics world. It includes virtual function pointers
5//! for C++ compatibility and maintains the original memory layout.
67use crate::re::bhkUnaryAction::{bhkUnaryAction, bhkUnaryActionVtbl};
8use crate::re::offsets_ni_rtti::NiRTTI_bhkMouseSpringAction;
9use crate::re::offsets_rtti::RTTI_bhkMouseSpringAction;
10use crate::re::offsets_vtable::VTABLE_bhkMouseSpringAction;
11use crate::rel::id::VariantID;
1213#[repr(C)]
14#[derive(Debug)]
15pub struct bhkMouseSpringAction {
16/// Base class.
17pub __base: bhkUnaryAction,
18}
19const _: () = assert!(core::mem::size_of::<bhkMouseSpringAction>() == 0x20);
2021impl bhkMouseSpringAction {
22/// Address & Offset of the runtime type information (RTTI) identifier.
23pub const RTTI: VariantID = RTTI_bhkMouseSpringAction;
24/// Address & Offset of the runtime type information (Ni RTTI) identifier.
25pub const NI_RTTI: VariantID = NiRTTI_bhkMouseSpringAction;
2627/// Address & Offset of the virtual function table.
28pub const VTABLE: [VariantID; 1] = VTABLE_bhkMouseSpringAction;
29}
3031impl crate::re::hkRefPtr::hkRefPtrCounted for bhkMouseSpringAction {
32#[inline]
33fn AddReference(&self) {
34self.__base.__base.__base.__base.referenced_object.AddReference();
35 }
3637#[inline]
38fn RemoveReference(&self) {
39self.__base.__base.__base.__base.referenced_object.RemoveReference();
40 }
41}
4243/// The virtual function table for `bhkMouseSpringAction`.
44///
45/// This struct defines function pointers to simulate the C++ virtual functions.
46#[repr(C)]
47pub struct bhkMouseSpringActionVtbl {
48pub __base: bhkUnaryActionVtbl,
49}