Skip to main content

engage/generated/unity_engine/
iexposedpropertytable.rs

1// @generated by il2cpp-bindgen — do not edit by hand.
2
3#[cfg(feature = "unity_engine-iexposedpropertytable-types")]
4mod __types {
5    #[allow(unused_imports)] use ::unity::prelude::*;
6
7    use super::*;
8
9    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/unity_engine/iexposedpropertytable/IExposedPropertyTable.md"))]
10    #[::unity::class(namespace = "UnityEngine", name = "IExposedPropertyTable")]
11    pub struct IExposedPropertyTable {}
12}
13
14#[cfg(feature = "unity_engine-iexposedpropertytable-types")]
15pub use __types::*;
16
17#[cfg(feature = "unity_engine-iexposedpropertytable")]
18pub trait IIExposedPropertyTableMethods: IIExposedPropertyTable {
19    #[doc = "`GetReferenceValue(crate::unity_engine::propertyname::PropertyName, *mutbool)` overload"]
20    fn get_reference_value(
21        self,
22        id: impl ::core::convert::Into<crate::unity_engine::propertyname::PropertyName>,
23    ) -> (crate::unity_engine::object_2::Object_2, bool) {
24        unsafe {
25            let __receiver = <IExposedPropertyTable as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
26            let mut __out_0 = ::core::mem::MaybeUninit::<bool>::uninit();
27            let __ret = {
28                {
29                    let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
30                    let __vi = *__vt.get(0usize).unwrap_or_else(|| {
31                        panic!(
32                            "unity: virtual slot {}
33 out of range (vtable len {}
34) on the runtime class behind {}
35 (method `{}
36`)",
37                            0usize,
38                            __vt.len(),
39                            <IExposedPropertyTable as ::unity::ClassIdentity>::NAME,
40                            "GetReferenceValue",
41                        )
42                    });
43                    let __inner: extern "C" fn(
44                        IExposedPropertyTable,
45                        crate::unity_engine::propertyname::PropertyName,
46                        *mut bool,
47                        ::unity::OptionalMethod,
48                    ) -> crate::unity_engine::object_2::Object_2 = ::core::mem::transmute(__vi.method_ptr);
49                    let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
50                    __inner(__receiver, ::core::convert::Into::into(id), __out_0.as_mut_ptr(), __mi)
51                }
52            };
53            (__ret, __out_0.assume_init())
54        }
55    }
56}
57
58#[cfg(feature = "unity_engine-iexposedpropertytable")]
59impl<__T: IIExposedPropertyTable> IIExposedPropertyTableMethods for __T {}
60
61#[cfg(feature = "unity_engine-iexposedpropertytable")]
62impl IExposedPropertyTable {
63    pub fn get_reference_value_method_info() -> &'static ::unity::il2cpp::MethodInfo {
64        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
65    }
66}
67
68#[cfg(feature = "unity_engine-iexposedpropertytable")]
69impl IExposedPropertyTable {
70    #[doc = "Direct (non-virtual) call to `IExposedPropertyTable`'s own `GetReferenceValue`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
71    pub unsafe fn get_reference_value(
72        this: impl ::core::convert::Into<::unity::IlInstance>,
73        id: crate::unity_engine::propertyname::PropertyName,
74        id_valid: *mut bool,
75    ) -> crate::unity_engine::object_2::Object_2 {
76        let __mi = Self::get_reference_value_method_info();
77        let __inner: extern "C" fn(
78            ::unity::IlInstance,
79            crate::unity_engine::propertyname::PropertyName,
80            *mut bool,
81            ::unity::OptionalMethod,
82        ) -> crate::unity_engine::object_2::Object_2 = ::core::mem::transmute(__mi.method_ptr);
83        __inner(this.into(), id, id_valid, ::core::option::Option::None)
84    }
85}
86
87#[cfg(feature = "unity_engine-iexposedpropertytable")]
88#[doc(hidden)]
89pub mod prelude {
90    pub use super::{IExposedPropertyTable, IIExposedPropertyTable, IIExposedPropertyTableMethods};
91}