Skip to main content

engage/generated/system/reflection/
monopropertyinfo.rs

1// @generated by il2cpp-bindgen — do not edit by hand.
2
3#[cfg(feature = "system-reflection-monopropertyinfo-types")]
4mod __types {
5    #[allow(unused_imports)] use ::unity::prelude::*;
6
7    use super::*;
8    use crate::system::{
9        object::{IObject, Object},
10        valuetype::{IValueType, ValueType},
11    };
12
13    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/system/reflection/monopropertyinfo/MonoPropertyInfo.md"))]
14    #[repr(C)]
15    #[derive(::core::clone::Clone, ::core::marker::Copy)]
16    pub struct MonoPropertyInfo {
17        pub parent: ::unity::SystemType,
18        pub declaring_type: ::unity::SystemType,
19        pub name: ::unity::Il2CppString,
20        pub get_method: crate::system::reflection::methodinfo::MethodInfo,
21        pub set_method: crate::system::reflection::methodinfo::MethodInfo,
22        pub attrs: crate::system::reflection::propertyattributes::PropertyAttributes,
23    }
24    impl ::unity::ClassIdentity for MonoPropertyInfo {
25        const NAME: &'static str = "MonoPropertyInfo";
26        const NAMESPACE: &'static str = "System.Reflection";
27
28        fn class() -> ::unity::Class {
29            static CACHE: ::std::sync::OnceLock<::unity::Class> = ::std::sync::OnceLock::new();
30            *CACHE.get_or_init(|| ::unity::Class::lookup(Self::NAMESPACE, Self::NAME))
31        }
32    }
33    impl ::unity::IlType for MonoPropertyInfo {
34        fn il_type() -> &'static ::unity::il2cpp::Il2CppType {
35            &<Self as ::unity::ClassIdentity>::class().raw()._1.byval_arg
36        }
37    }
38}
39
40#[cfg(feature = "system-reflection-monopropertyinfo-types")]
41pub use __types::*;
42
43#[cfg(feature = "system-reflection-monopropertyinfo")]
44impl MonoPropertyInfo {
45    #[doc = "`get_property_info(crate::system::reflection::monoproperty::MonoProperty, *mutcrate::system::reflection::monopropertyinfo::MonoPropertyInfo, crate::system::reflection::pinfo::PInfo)` overload"]
46    pub fn get_property_info(
47        prop: impl ::core::convert::Into<crate::system::reflection::monoproperty::MonoProperty>,
48        req_info: impl ::core::convert::Into<crate::system::reflection::pinfo::PInfo>,
49    ) -> crate::system::reflection::monopropertyinfo::MonoPropertyInfo {
50        unsafe {
51            let mut __out_0 = ::core::mem::MaybeUninit::<crate::system::reflection::monopropertyinfo::MonoPropertyInfo>::uninit();
52            ::unity::il2cpp_call!((::unity::module_base()+0x3383820usize)as*mut u8,();
53(crate::system::reflection::monoproperty::MonoProperty)::core::convert::Into::into(prop),(*mut crate::system::reflection::monopropertyinfo::MonoPropertyInfo)__out_0.as_mut_ptr(),(crate::system::reflection::pinfo::PInfo)::core::convert::Into::into(req_info));
54            __out_0.assume_init()
55        }
56    }
57
58    #[doc = "`GetTypeModifiers(crate::system::reflection::monoproperty::MonoProperty, bool)` overload"]
59    pub fn get_type_modifiers(
60        prop: impl ::core::convert::Into<crate::system::reflection::monoproperty::MonoProperty>,
61        optional: impl ::core::convert::Into<bool>,
62    ) -> ::unity::Array<::unity::SystemType> {
63        unsafe {
64            ::unity::il2cpp_call!((::unity::module_base()+0x3384af0usize)as*mut u8, ::unity::Array< ::unity::SystemType> ;
65(crate::system::reflection::monoproperty::MonoProperty)::core::convert::Into::into(prop),(bool)::core::convert::Into::into(optional))
66        }
67    }
68
69    #[doc = "`get_default_value(crate::system::reflection::monoproperty::MonoProperty)` overload"]
70    pub fn get_default_value(
71        prop: impl ::core::convert::Into<crate::system::reflection::monoproperty::MonoProperty>,
72    ) -> crate::system::object::Object {
73        unsafe {
74            ::unity::il2cpp_call!((::unity::module_base()+0x3384120usize)as*mut u8,crate::system::object::Object;
75(crate::system::reflection::monoproperty::MonoProperty)::core::convert::Into::into(prop))
76        }
77    }
78}
79
80#[cfg(feature = "system-reflection-monopropertyinfo")]
81impl MonoPropertyInfo {
82    pub fn get_property_info_method_info() -> &'static ::unity::il2cpp::MethodInfo {
83        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
84    }
85
86    pub fn get_type_modifiers_method_info() -> &'static ::unity::il2cpp::MethodInfo {
87        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
88    }
89
90    pub fn get_default_value_method_info() -> &'static ::unity::il2cpp::MethodInfo {
91        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
92    }
93}
94
95#[cfg(feature = "system-reflection-monopropertyinfo")]
96#[doc(hidden)]
97pub mod prelude {
98    pub use super::MonoPropertyInfo;
99    #[cfg(feature = "system-object")]
100    pub use crate::system::object::IObjectMethods;
101    #[cfg(feature = "system-valuetype")]
102    pub use crate::system::valuetype::IValueTypeMethods;
103    pub use crate::system::{object::IObject, valuetype::IValueType};
104}