1#[cfg(feature = "moon_sharp-interpreter-interop-objectcallbackmemberdescriptor-types")]
4mod __types {
5 #[allow(unused_imports)] use ::unity::prelude::*;
6
7 use super::*;
8 use crate::{
9 moon_sharp::interpreter::interop::functionmemberdescriptorbase::{FunctionMemberDescriptorBase, IFunctionMemberDescriptorBase},
10 system::object::{IObject, Object},
11 };
12
13 #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/moon_sharp/interpreter/interop/objectcallbackmemberdescriptor/ObjectCallbackMemberDescriptor.md"))]
14 #[::unity::class(namespace = "MoonSharp.Interpreter.Interop", name = "ObjectCallbackMemberDescriptor")]
15 #[parent(crate::moon_sharp::interpreter::interop::functionmemberdescriptorbase::FunctionMemberDescriptorBase)]
16 pub struct ObjectCallbackMemberDescriptor {
17 #[offset(72)]
18 #[rename(name = "m_CallbackFunc")]
19 pub m_callback_func: crate::system::func_4::Func_4<
20 crate::system::object::Object,
21 crate::moon_sharp::interpreter::scriptexecutioncontext::ScriptExecutionContext,
22 crate::moon_sharp::interpreter::callbackarguments::CallbackArguments,
23 crate::system::object::Object,
24 >,
25 }
26}
27
28#[cfg(feature = "moon_sharp-interpreter-interop-objectcallbackmemberdescriptor-types")]
29pub use __types::*;
30
31#[cfg(feature = "moon_sharp-interpreter-interop-objectcallbackmemberdescriptor")]
32#[doc(hidden)]
33#[allow(non_snake_case, non_camel_case_types, clippy::too_many_arguments)]
34mod __ObjectCallbackMemberDescriptor_unity_raw {
35 use super::*;
36 #[doc(hidden)]
37 #[allow(non_snake_case)]
38 pub mod __lookup_ctor {
39 use super::*;
40 static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
41 let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[<::unity::Il2CppString as ::unity::IlType>::il_type()];
42 ::unity::lookup::method_info_on_class_with_signature(
43 <ObjectCallbackMemberDescriptor as ::unity::ClassIdentity>::class(),
44 ".ctor",
45 1,
46 param_types,
47 false,
48 )
49 });
50 pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
51 match &*METHOD {
52 ::core::result::Result::Ok(mi) => *mi,
53 ::core::result::Result::Err(e) => {
54 panic!(
55 "method lookup failed: {}
56::{}
57: {}
58",
59 <ObjectCallbackMemberDescriptor as ::unity::ClassIdentity>::NAME,
60 ".ctor",
61 e
62 )
63 },
64 }
65 }
66 }
67 #[doc(hidden)]
68 #[allow(non_snake_case)]
69 pub mod __lookup_ctor_2 {
70 use super::*;
71 static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
72 let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[
73 <::unity::Il2CppString as ::unity::IlType>::il_type(),
74 <crate::system::func_4::Func_4<
75 crate::system::object::Object,
76 crate::moon_sharp::interpreter::scriptexecutioncontext::ScriptExecutionContext,
77 crate::moon_sharp::interpreter::callbackarguments::CallbackArguments,
78 crate::system::object::Object,
79 > as ::unity::IlType>::il_type(),
80 ];
81 ::unity::lookup::method_info_on_class_with_signature(
82 <ObjectCallbackMemberDescriptor as ::unity::ClassIdentity>::class(),
83 ".ctor",
84 2,
85 param_types,
86 false,
87 )
88 });
89 pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
90 match &*METHOD {
91 ::core::result::Result::Ok(mi) => *mi,
92 ::core::result::Result::Err(e) => {
93 panic!(
94 "method lookup failed: {}
95::{}
96: {}
97",
98 <ObjectCallbackMemberDescriptor as ::unity::ClassIdentity>::NAME,
99 ".ctor",
100 e
101 )
102 },
103 }
104 }
105 }
106 #[doc(hidden)]
107 #[allow(non_snake_case)]
108 pub mod __lookup_ctor_3 {
109 use super::*;
110 static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
111 let param_types: &[& 'static::unity::il2cpp::Il2CppType]= &[< ::unity::Il2CppString as::unity::IlType> ::il_type(), <crate::system::func_4::Func_4<crate::system::object::Object,crate::moon_sharp::interpreter::scriptexecutioncontext::ScriptExecutionContext,crate::moon_sharp::interpreter::callbackarguments::CallbackArguments,crate::system::object::Object>as::unity::IlType> ::il_type(), < ::unity::Array<crate::moon_sharp::interpreter::interop::basic_descriptors::parameterdescriptor::ParameterDescriptor>as::unity::IlType> ::il_type()];
112 ::unity::lookup::method_info_on_class_with_signature(
113 <ObjectCallbackMemberDescriptor as ::unity::ClassIdentity>::class(),
114 ".ctor",
115 3,
116 param_types,
117 false,
118 )
119 });
120 pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
121 match &*METHOD {
122 ::core::result::Result::Ok(mi) => *mi,
123 ::core::result::Result::Err(e) => {
124 panic!(
125 "method lookup failed: {}
126::{}
127: {}
128",
129 <ObjectCallbackMemberDescriptor as ::unity::ClassIdentity>::NAME,
130 ".ctor",
131 e
132 )
133 },
134 }
135 }
136 }
137}
138
139#[cfg(feature = "moon_sharp-interpreter-interop-objectcallbackmemberdescriptor")]
140pub trait IObjectCallbackMemberDescriptorMethods: IObjectCallbackMemberDescriptor {
141 #[doc = "`.ctor(::unity::Il2CppString)` overload"]
142 fn ctor(self, func_name: impl ::core::convert::Into<::unity::Il2CppString>) -> () {
143 unsafe {
144 let __receiver =
145 <ObjectCallbackMemberDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
146 ::unity::il2cpp_call!(__ObjectCallbackMemberDescriptor_unity_raw::__lookup_ctor::get_method_info().method_ptr,();
147(ObjectCallbackMemberDescriptor)__receiver,(::unity::Il2CppString)::core::convert::Into::into(func_name))
148 }
149 }
150 #[doc = "`.ctor(::unity::Il2CppString, crate::system::func_4::Func_4<crate::system::object::Object,crate::moon_sharp::interpreter::scriptexecutioncontext::ScriptExecutionContext,crate::moon_sharp::interpreter::callbackarguments::CallbackArguments,crate::system::object::Object>)` overload"]
151 fn ctor_2(
152 self,
153 func_name: impl ::core::convert::Into<::unity::Il2CppString>,
154 call_back: impl ::core::convert::Into<
155 crate::system::func_4::Func_4<
156 crate::system::object::Object,
157 crate::moon_sharp::interpreter::scriptexecutioncontext::ScriptExecutionContext,
158 crate::moon_sharp::interpreter::callbackarguments::CallbackArguments,
159 crate::system::object::Object,
160 >,
161 >,
162 ) -> () {
163 unsafe {
164 let __receiver =
165 <ObjectCallbackMemberDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
166 ::unity::il2cpp_call!(__ObjectCallbackMemberDescriptor_unity_raw::__lookup_ctor_2::get_method_info().method_ptr,();
167(ObjectCallbackMemberDescriptor)__receiver,(::unity::Il2CppString)::core::convert::Into::into(func_name),(crate::system::func_4::Func_4<crate::system::object::Object,crate::moon_sharp::interpreter::scriptexecutioncontext::ScriptExecutionContext,crate::moon_sharp::interpreter::callbackarguments::CallbackArguments,crate::system::object::Object>)::core::convert::Into::into(call_back))
168 }
169 }
170 #[doc = "`.ctor(::unity::Il2CppString, crate::system::func_4::Func_4<crate::system::object::Object,crate::moon_sharp::interpreter::scriptexecutioncontext::ScriptExecutionContext,crate::moon_sharp::interpreter::callbackarguments::CallbackArguments,crate::system::object::Object>, ::unity::Array<crate::moon_sharp::interpreter::interop::basic_descriptors::parameterdescriptor::ParameterDescriptor>)` overload"]
171 fn ctor_3(
172 self,
173 func_name: impl ::core::convert::Into<::unity::Il2CppString>,
174 call_back: impl ::core::convert::Into<
175 crate::system::func_4::Func_4<
176 crate::system::object::Object,
177 crate::moon_sharp::interpreter::scriptexecutioncontext::ScriptExecutionContext,
178 crate::moon_sharp::interpreter::callbackarguments::CallbackArguments,
179 crate::system::object::Object,
180 >,
181 >,
182 parameters: impl ::core::convert::Into<
183 ::unity::Array<crate::moon_sharp::interpreter::interop::basic_descriptors::parameterdescriptor::ParameterDescriptor>,
184 >,
185 ) -> () {
186 unsafe {
187 let __receiver =
188 <ObjectCallbackMemberDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
189 ::unity::il2cpp_call!(__ObjectCallbackMemberDescriptor_unity_raw::__lookup_ctor_3::get_method_info().method_ptr,();
190(ObjectCallbackMemberDescriptor)__receiver,(::unity::Il2CppString)::core::convert::Into::into(func_name),(crate::system::func_4::Func_4<crate::system::object::Object,crate::moon_sharp::interpreter::scriptexecutioncontext::ScriptExecutionContext,crate::moon_sharp::interpreter::callbackarguments::CallbackArguments,crate::system::object::Object>)::core::convert::Into::into(call_back),(::unity::Array<crate::moon_sharp::interpreter::interop::basic_descriptors::parameterdescriptor::ParameterDescriptor>)::core::convert::Into::into(parameters))
191 }
192 }
193 #[doc = "`Execute(crate::moon_sharp::interpreter::script::Script, crate::system::object::Object, crate::moon_sharp::interpreter::scriptexecutioncontext::ScriptExecutionContext, crate::moon_sharp::interpreter::callbackarguments::CallbackArguments)` overload"]
194 fn execute(
195 self,
196 script: impl ::core::convert::Into<crate::moon_sharp::interpreter::script::Script>,
197 obj: impl ::core::convert::Into<crate::system::object::Object>,
198 context: impl ::core::convert::Into<crate::moon_sharp::interpreter::scriptexecutioncontext::ScriptExecutionContext>,
199 args: impl ::core::convert::Into<crate::moon_sharp::interpreter::callbackarguments::CallbackArguments>,
200 ) -> crate::moon_sharp::interpreter::dynvalue::DynValue {
201 unsafe {
202 let __receiver =
203 <ObjectCallbackMemberDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
204 {
205 let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
206 let __vi = *__vt.get(16usize).unwrap_or_else(|| {
207 panic!(
208 "unity: virtual slot {}
209 out of range (vtable len {}
210) on the runtime class behind {}
211 (method `{}
212`)",
213 16usize,
214 __vt.len(),
215 <ObjectCallbackMemberDescriptor as ::unity::ClassIdentity>::NAME,
216 "Execute",
217 )
218 });
219 let __inner: extern "C" fn(
220 ObjectCallbackMemberDescriptor,
221 crate::moon_sharp::interpreter::script::Script,
222 crate::system::object::Object,
223 crate::moon_sharp::interpreter::scriptexecutioncontext::ScriptExecutionContext,
224 crate::moon_sharp::interpreter::callbackarguments::CallbackArguments,
225 ::unity::OptionalMethod,
226 ) -> crate::moon_sharp::interpreter::dynvalue::DynValue = ::core::mem::transmute(__vi.method_ptr);
227 let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
228 __inner(
229 __receiver,
230 ::core::convert::Into::into(script),
231 ::core::convert::Into::into(obj),
232 ::core::convert::Into::into(context),
233 ::core::convert::Into::into(args),
234 __mi,
235 )
236 }
237 }
238 }
239}
240
241#[cfg(feature = "moon_sharp-interpreter-interop-objectcallbackmemberdescriptor")]
242impl<__T: IObjectCallbackMemberDescriptor> IObjectCallbackMemberDescriptorMethods for __T {}
243
244#[cfg(feature = "moon_sharp-interpreter-interop-objectcallbackmemberdescriptor")]
245impl ObjectCallbackMemberDescriptor {
246 pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
247 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
248 }
249
250 pub fn ctor_2_method_info() -> &'static ::unity::il2cpp::MethodInfo {
251 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
252 }
253
254 pub fn ctor_3_method_info() -> &'static ::unity::il2cpp::MethodInfo {
255 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
256 }
257
258 pub fn execute_method_info() -> &'static ::unity::il2cpp::MethodInfo {
259 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[3]
260 }
261}
262
263#[cfg(feature = "moon_sharp-interpreter-interop-objectcallbackmemberdescriptor")]
264impl ObjectCallbackMemberDescriptor {
265 #[doc = "Direct (non-virtual) call to `ObjectCallbackMemberDescriptor`'s own `Execute`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
266 pub unsafe fn execute(
267 this: impl ::core::convert::Into<::unity::IlInstance>,
268 script: crate::moon_sharp::interpreter::script::Script,
269 obj: crate::system::object::Object,
270 context: crate::moon_sharp::interpreter::scriptexecutioncontext::ScriptExecutionContext,
271 args: crate::moon_sharp::interpreter::callbackarguments::CallbackArguments,
272 ) -> crate::moon_sharp::interpreter::dynvalue::DynValue {
273 let __mi = Self::execute_method_info();
274 let __inner: extern "C" fn(
275 ::unity::IlInstance,
276 crate::moon_sharp::interpreter::script::Script,
277 crate::system::object::Object,
278 crate::moon_sharp::interpreter::scriptexecutioncontext::ScriptExecutionContext,
279 crate::moon_sharp::interpreter::callbackarguments::CallbackArguments,
280 ::unity::OptionalMethod,
281 ) -> crate::moon_sharp::interpreter::dynvalue::DynValue = ::core::mem::transmute(__mi.method_ptr);
282 __inner(this.into(), script, obj, context, args, ::core::option::Option::None)
283 }
284}
285
286#[cfg(feature = "moon_sharp-interpreter-interop-objectcallbackmemberdescriptor")]
287impl ObjectCallbackMemberDescriptor {
288 #[doc = "`.ctor(::unity::Il2CppString)` — overload selector"]
289 pub fn new(func_name: ::unity::Il2CppString) -> Self {
290 let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
291 panic!(
292 "{}
293::{}
294 failed to instantiate",
295 ::core::stringify!(ObjectCallbackMemberDescriptor),
296 ::core::stringify!(new),
297 )
298 });
299 <Self as IObjectCallbackMemberDescriptorMethods>::ctor(this, func_name);
300 this
301 }
302
303 #[doc = "`.ctor(::unity::Il2CppString, crate::system::func_4::Func_4<crate::system::object::Object,crate::moon_sharp::interpreter::scriptexecutioncontext::ScriptExecutionContext,crate::moon_sharp::interpreter::callbackarguments::CallbackArguments,crate::system::object::Object>)` — overload selector"]
304 pub fn new_2(
305 func_name: ::unity::Il2CppString,
306 call_back: crate::system::func_4::Func_4<
307 crate::system::object::Object,
308 crate::moon_sharp::interpreter::scriptexecutioncontext::ScriptExecutionContext,
309 crate::moon_sharp::interpreter::callbackarguments::CallbackArguments,
310 crate::system::object::Object,
311 >,
312 ) -> Self {
313 let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
314 panic!(
315 "{}
316::{}
317 failed to instantiate",
318 ::core::stringify!(ObjectCallbackMemberDescriptor),
319 ::core::stringify!(new_2),
320 )
321 });
322 <Self as IObjectCallbackMemberDescriptorMethods>::ctor_2(this, func_name, call_back);
323 this
324 }
325
326 #[doc = "`.ctor(::unity::Il2CppString, crate::system::func_4::Func_4<crate::system::object::Object,crate::moon_sharp::interpreter::scriptexecutioncontext::ScriptExecutionContext,crate::moon_sharp::interpreter::callbackarguments::CallbackArguments,crate::system::object::Object>, ::unity::Array<crate::moon_sharp::interpreter::interop::basic_descriptors::parameterdescriptor::ParameterDescriptor>)` — overload selector"]
327 pub fn new_3(
328 func_name: ::unity::Il2CppString,
329 call_back: crate::system::func_4::Func_4<
330 crate::system::object::Object,
331 crate::moon_sharp::interpreter::scriptexecutioncontext::ScriptExecutionContext,
332 crate::moon_sharp::interpreter::callbackarguments::CallbackArguments,
333 crate::system::object::Object,
334 >,
335 parameters: ::unity::Array<crate::moon_sharp::interpreter::interop::basic_descriptors::parameterdescriptor::ParameterDescriptor>,
336 ) -> Self {
337 let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
338 panic!(
339 "{}
340::{}
341 failed to instantiate",
342 ::core::stringify!(ObjectCallbackMemberDescriptor),
343 ::core::stringify!(new_3),
344 )
345 });
346 <Self as IObjectCallbackMemberDescriptorMethods>::ctor_3(this, func_name, call_back, parameters);
347 this
348 }
349}
350
351#[cfg(feature = "moon_sharp-interpreter-interop-objectcallbackmemberdescriptor")]
352#[doc(hidden)]
353pub mod prelude {
354 pub use super::{IObjectCallbackMemberDescriptor, IObjectCallbackMemberDescriptorMethods, ObjectCallbackMemberDescriptor};
355 #[cfg(feature = "moon_sharp-interpreter-interop-functionmemberdescriptorbase")]
356 pub use crate::moon_sharp::interpreter::interop::functionmemberdescriptorbase::IFunctionMemberDescriptorBaseMethods;
357 #[cfg(feature = "system-object")]
358 pub use crate::system::object::IObjectMethods;
359 pub use crate::{moon_sharp::interpreter::interop::functionmemberdescriptorbase::IFunctionMemberDescriptorBase, system::object::IObject};
360}