engage/generated/moon_sharp/interpreter/interop/registration_policies/
permanentregistrationpolicy.rs1#[cfg(feature = "moon_sharp-interpreter-interop-registration_policies-permanentregistrationpolicy-types")]
4mod __types {
5 #[allow(unused_imports)] use ::unity::prelude::*;
6
7 use super::*;
8 use crate::system::object::{IObject, Object};
9
10 #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/moon_sharp/interpreter/interop/registration_policies/permanentregistrationpolicy/PermanentRegistrationPolicy.md"))]
11 #[::unity::class(namespace = "MoonSharp.Interpreter.Interop.RegistrationPolicies", name = "PermanentRegistrationPolicy")]
12 #[parent(crate::system::object::Object)]
13 pub struct PermanentRegistrationPolicy {}
14}
15
16#[cfg(feature = "moon_sharp-interpreter-interop-registration_policies-permanentregistrationpolicy-types")]
17pub use __types::*;
18
19#[cfg(feature = "moon_sharp-interpreter-interop-registration_policies-permanentregistrationpolicy")]
20#[doc(hidden)]
21#[allow(non_snake_case, non_camel_case_types, clippy::too_many_arguments)]
22mod __PermanentRegistrationPolicy_unity_raw {
23 use super::*;
24 #[doc(hidden)]
25 #[allow(non_snake_case)]
26 pub mod __lookup_ctor {
27 use super::*;
28 static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
29 let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[];
30 ::unity::lookup::method_info_on_class_with_signature(
31 <PermanentRegistrationPolicy as ::unity::ClassIdentity>::class(),
32 ".ctor",
33 0,
34 param_types,
35 false,
36 )
37 });
38 pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
39 match &*METHOD {
40 ::core::result::Result::Ok(mi) => *mi,
41 ::core::result::Result::Err(e) => {
42 panic!(
43 "method lookup failed: {}
44::{}
45: {}
46",
47 <PermanentRegistrationPolicy as ::unity::ClassIdentity>::NAME,
48 ".ctor",
49 e
50 )
51 },
52 }
53 }
54 }
55}
56
57#[cfg(feature = "moon_sharp-interpreter-interop-registration_policies-permanentregistrationpolicy")]
58pub trait IPermanentRegistrationPolicyMethods: IPermanentRegistrationPolicy {
59 #[doc = "`HandleRegistration(crate::moon_sharp::interpreter::interop::iuserdatadescriptor::IUserDataDescriptor, crate::moon_sharp::interpreter::interop::iuserdatadescriptor::IUserDataDescriptor)` overload"]
60 fn handle_registration(
61 self,
62 new_descriptor: impl ::core::convert::Into<crate::moon_sharp::interpreter::interop::iuserdatadescriptor::IUserDataDescriptor>,
63 old_descriptor: impl ::core::convert::Into<crate::moon_sharp::interpreter::interop::iuserdatadescriptor::IUserDataDescriptor>,
64 ) -> crate::moon_sharp::interpreter::interop::iuserdatadescriptor::IUserDataDescriptor {
65 unsafe {
66 let __receiver =
67 <PermanentRegistrationPolicy as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
68 {
69 let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
70 let __vi = *__vt.get(4usize).unwrap_or_else(|| {
71 panic!(
72 "unity: virtual slot {}
73 out of range (vtable len {}
74) on the runtime class behind {}
75 (method `{}
76`)",
77 4usize,
78 __vt.len(),
79 <PermanentRegistrationPolicy as ::unity::ClassIdentity>::NAME,
80 "HandleRegistration",
81 )
82 });
83 let __inner: extern "C" fn(
84 PermanentRegistrationPolicy,
85 crate::moon_sharp::interpreter::interop::iuserdatadescriptor::IUserDataDescriptor,
86 crate::moon_sharp::interpreter::interop::iuserdatadescriptor::IUserDataDescriptor,
87 ::unity::OptionalMethod,
88 ) -> crate::moon_sharp::interpreter::interop::iuserdatadescriptor::IUserDataDescriptor = ::core::mem::transmute(__vi.method_ptr);
89 let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
90 __inner(
91 __receiver,
92 ::core::convert::Into::into(new_descriptor),
93 ::core::convert::Into::into(old_descriptor),
94 __mi,
95 )
96 }
97 }
98 }
99 #[doc = "`AllowTypeAutoRegistration(::unity::SystemType)` overload"]
100 fn allow_type_auto_registration(self, r#type: impl ::core::convert::Into<::unity::SystemType>) -> bool {
101 unsafe {
102 let __receiver =
103 <PermanentRegistrationPolicy as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
104 {
105 let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
106 let __vi = *__vt.get(5usize).unwrap_or_else(|| {
107 panic!(
108 "unity: virtual slot {}
109 out of range (vtable len {}
110) on the runtime class behind {}
111 (method `{}
112`)",
113 5usize,
114 __vt.len(),
115 <PermanentRegistrationPolicy as ::unity::ClassIdentity>::NAME,
116 "AllowTypeAutoRegistration",
117 )
118 });
119 let __inner: extern "C" fn(PermanentRegistrationPolicy, ::unity::SystemType, ::unity::OptionalMethod) -> bool =
120 ::core::mem::transmute(__vi.method_ptr);
121 let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
122 __inner(__receiver, ::core::convert::Into::into(r#type), __mi)
123 }
124 }
125 }
126 #[doc = "`.ctor()` overload"]
127 fn ctor(self) -> () {
128 unsafe {
129 let __receiver =
130 <PermanentRegistrationPolicy as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
131 ::unity::il2cpp_call!(__PermanentRegistrationPolicy_unity_raw::__lookup_ctor::get_method_info().method_ptr,();
132(PermanentRegistrationPolicy)__receiver)
133 }
134 }
135}
136
137#[cfg(feature = "moon_sharp-interpreter-interop-registration_policies-permanentregistrationpolicy")]
138impl<__T: IPermanentRegistrationPolicy> IPermanentRegistrationPolicyMethods for __T {}
139
140#[cfg(feature = "moon_sharp-interpreter-interop-registration_policies-permanentregistrationpolicy")]
141impl PermanentRegistrationPolicy {
142 pub fn handle_registration_method_info() -> &'static ::unity::il2cpp::MethodInfo {
143 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
144 }
145
146 pub fn allow_type_auto_registration_method_info() -> &'static ::unity::il2cpp::MethodInfo {
147 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
148 }
149
150 pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
151 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
152 }
153}
154
155#[cfg(feature = "moon_sharp-interpreter-interop-registration_policies-permanentregistrationpolicy")]
156impl PermanentRegistrationPolicy {
157 #[doc = "Direct (non-virtual) call to `PermanentRegistrationPolicy`'s own `HandleRegistration`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
158 pub unsafe fn handle_registration(
159 this: impl ::core::convert::Into<::unity::IlInstance>,
160 new_descriptor: crate::moon_sharp::interpreter::interop::iuserdatadescriptor::IUserDataDescriptor,
161 old_descriptor: crate::moon_sharp::interpreter::interop::iuserdatadescriptor::IUserDataDescriptor,
162 ) -> crate::moon_sharp::interpreter::interop::iuserdatadescriptor::IUserDataDescriptor {
163 let __mi = Self::handle_registration_method_info();
164 let __inner: extern "C" fn(
165 ::unity::IlInstance,
166 crate::moon_sharp::interpreter::interop::iuserdatadescriptor::IUserDataDescriptor,
167 crate::moon_sharp::interpreter::interop::iuserdatadescriptor::IUserDataDescriptor,
168 ::unity::OptionalMethod,
169 ) -> crate::moon_sharp::interpreter::interop::iuserdatadescriptor::IUserDataDescriptor = ::core::mem::transmute(__mi.method_ptr);
170 __inner(this.into(), new_descriptor, old_descriptor, ::core::option::Option::None)
171 }
172
173 #[doc = "Direct (non-virtual) call to `PermanentRegistrationPolicy`'s own `AllowTypeAutoRegistration`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
174 pub unsafe fn allow_type_auto_registration(this: impl ::core::convert::Into<::unity::IlInstance>, r#type: ::unity::SystemType) -> bool {
175 let __mi = Self::allow_type_auto_registration_method_info();
176 let __inner: extern "C" fn(::unity::IlInstance, ::unity::SystemType, ::unity::OptionalMethod) -> bool =
177 ::core::mem::transmute(__mi.method_ptr);
178 __inner(this.into(), r#type, ::core::option::Option::None)
179 }
180}
181
182#[cfg(feature = "moon_sharp-interpreter-interop-registration_policies-permanentregistrationpolicy")]
183impl PermanentRegistrationPolicy {
184 #[doc = "`.ctor()` — no args"]
185 pub fn new() -> Self {
186 let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
187 panic!(
188 "{}
189::{}
190 failed to instantiate",
191 ::core::stringify!(PermanentRegistrationPolicy),
192 ::core::stringify!(new),
193 )
194 });
195 <Self as IPermanentRegistrationPolicyMethods>::ctor(this);
196 this
197 }
198}
199
200#[cfg(feature = "moon_sharp-interpreter-interop-registration_policies-permanentregistrationpolicy")]
201#[doc(hidden)]
202pub mod prelude {
203 pub use super::{IPermanentRegistrationPolicy, IPermanentRegistrationPolicyMethods, PermanentRegistrationPolicy};
204 pub use crate::system::object::IObject;
205 #[cfg(feature = "system-object")]
206 pub use crate::system::object::IObjectMethods;
207}