Skip to main content

engage/generated/moon_sharp/interpreter/interop/
compositeuserdatadescriptor.rs

1// @generated by il2cpp-bindgen — do not edit by hand.
2
3#[cfg(feature = "moon_sharp-interpreter-interop-compositeuserdatadescriptor-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/compositeuserdatadescriptor/CompositeUserDataDescriptor.md"))]
11    #[::unity::class(namespace = "MoonSharp.Interpreter.Interop", name = "CompositeUserDataDescriptor")]
12    #[parent(crate::system::object::Object)]
13    pub struct CompositeUserDataDescriptor {
14        #[offset(16)]
15        #[rename(name = "m_Descriptors")]
16        pub m_descriptors:
17            crate::system::collections::generic::list_1::List_1<crate::moon_sharp::interpreter::interop::iuserdatadescriptor::IUserDataDescriptor>,
18        #[offset(24)]
19        #[rename(name = "m_Type")]
20        pub m_type: ::unity::SystemType,
21    }
22}
23
24#[cfg(feature = "moon_sharp-interpreter-interop-compositeuserdatadescriptor-types")]
25pub use __types::*;
26
27#[cfg(feature = "moon_sharp-interpreter-interop-compositeuserdatadescriptor")]
28#[doc(hidden)]
29#[allow(non_snake_case, non_camel_case_types, clippy::too_many_arguments)]
30mod __CompositeUserDataDescriptor_unity_raw {
31    use super::*;
32    #[doc(hidden)]
33    #[allow(non_snake_case)]
34    pub mod __lookup_ctor {
35        use super::*;
36        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
37            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[
38                <crate::system::collections::generic::list_1::List_1<
39                    crate::moon_sharp::interpreter::interop::iuserdatadescriptor::IUserDataDescriptor,
40                > as ::unity::IlType>::il_type(),
41                <::unity::SystemType as ::unity::IlType>::il_type(),
42            ];
43            ::unity::lookup::method_info_on_class_with_signature(
44                <CompositeUserDataDescriptor as ::unity::ClassIdentity>::class(),
45                ".ctor",
46                2,
47                param_types,
48                false,
49            )
50        });
51        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
52            match &*METHOD {
53                ::core::result::Result::Ok(mi) => *mi,
54                ::core::result::Result::Err(e) => {
55                    panic!(
56                        "method lookup failed: {}
57::{}
58: {}
59",
60                        <CompositeUserDataDescriptor as ::unity::ClassIdentity>::NAME,
61                        ".ctor",
62                        e
63                    )
64                },
65            }
66        }
67    }
68    #[doc(hidden)]
69    #[allow(non_snake_case)]
70    pub mod __lookup_get_descriptors {
71        use super::*;
72        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
73            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[];
74            ::unity::lookup::method_info_on_class_with_signature(
75                <CompositeUserDataDescriptor as ::unity::ClassIdentity>::class(),
76                "get_Descriptors",
77                0,
78                param_types,
79                false,
80            )
81        });
82        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
83            match &*METHOD {
84                ::core::result::Result::Ok(mi) => *mi,
85                ::core::result::Result::Err(e) => {
86                    panic!(
87                        "method lookup failed: {}
88::{}
89: {}
90",
91                        <CompositeUserDataDescriptor as ::unity::ClassIdentity>::NAME,
92                        "get_Descriptors",
93                        e
94                    )
95                },
96            }
97        }
98    }
99}
100
101#[cfg(feature = "moon_sharp-interpreter-interop-compositeuserdatadescriptor")]
102pub trait ICompositeUserDataDescriptorMethods: ICompositeUserDataDescriptor {
103    #[doc = "`.ctor(crate::system::collections::generic::list_1::List_1<crate::moon_sharp::interpreter::interop::iuserdatadescriptor::IUserDataDescriptor>, ::unity::SystemType)` overload"]
104    fn ctor(
105        self,
106        descriptors: impl ::core::convert::Into<
107            crate::system::collections::generic::list_1::List_1<crate::moon_sharp::interpreter::interop::iuserdatadescriptor::IUserDataDescriptor>,
108        >,
109        r#type: impl ::core::convert::Into<::unity::SystemType>,
110    ) -> () {
111        unsafe {
112            let __receiver =
113                <CompositeUserDataDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
114            ::unity::il2cpp_call!(__CompositeUserDataDescriptor_unity_raw::__lookup_ctor::get_method_info().method_ptr,();
115(CompositeUserDataDescriptor)__receiver,(crate::system::collections::generic::list_1::List_1<crate::moon_sharp::interpreter::interop::iuserdatadescriptor::IUserDataDescriptor>)::core::convert::Into::into(descriptors),(::unity::SystemType)::core::convert::Into::into(r#type))
116        }
117    }
118    #[doc = "`get_Descriptors()` overload"]
119    fn get_descriptors(
120        self,
121    ) -> crate::system::collections::generic::ilist_1_interface::IList_1_Interface<
122        crate::moon_sharp::interpreter::interop::iuserdatadescriptor::IUserDataDescriptor,
123    > {
124        unsafe {
125            let __receiver =
126                <CompositeUserDataDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
127            ::unity::il2cpp_call!(__CompositeUserDataDescriptor_unity_raw::__lookup_get_descriptors::get_method_info().method_ptr,crate::system::collections::generic::ilist_1_interface::IList_1_Interface<crate::moon_sharp::interpreter::interop::iuserdatadescriptor::IUserDataDescriptor> ;
128(CompositeUserDataDescriptor)__receiver)
129        }
130    }
131    #[doc = "`get_Name()` overload"]
132    fn get_name(self) -> ::unity::Il2CppString {
133        unsafe {
134            let __receiver =
135                <CompositeUserDataDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
136            {
137                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
138                let __vi = *__vt.get(4usize).unwrap_or_else(|| {
139                    panic!(
140                        "unity: virtual slot {}
141 out of range (vtable len {}
142) on the runtime class behind {}
143 (method `{}
144`)",
145                        4usize,
146                        __vt.len(),
147                        <CompositeUserDataDescriptor as ::unity::ClassIdentity>::NAME,
148                        "get_Name",
149                    )
150                });
151                let __inner: extern "C" fn(CompositeUserDataDescriptor, ::unity::OptionalMethod) -> ::unity::Il2CppString =
152                    ::core::mem::transmute(__vi.method_ptr);
153                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
154                __inner(__receiver, __mi)
155            }
156        }
157    }
158    #[doc = "`get_Type()` overload"]
159    fn get_type(self) -> ::unity::SystemType {
160        unsafe {
161            let __receiver =
162                <CompositeUserDataDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
163            {
164                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
165                let __vi = *__vt.get(5usize).unwrap_or_else(|| {
166                    panic!(
167                        "unity: virtual slot {}
168 out of range (vtable len {}
169) on the runtime class behind {}
170 (method `{}
171`)",
172                        5usize,
173                        __vt.len(),
174                        <CompositeUserDataDescriptor as ::unity::ClassIdentity>::NAME,
175                        "get_Type",
176                    )
177                });
178                let __inner: extern "C" fn(CompositeUserDataDescriptor, ::unity::OptionalMethod) -> ::unity::SystemType =
179                    ::core::mem::transmute(__vi.method_ptr);
180                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
181                __inner(__receiver, __mi)
182            }
183        }
184    }
185    #[doc = "`Index(crate::moon_sharp::interpreter::script::Script, crate::system::object::Object, crate::moon_sharp::interpreter::dynvalue::DynValue, bool)` overload"]
186    fn index(
187        self,
188        script: impl ::core::convert::Into<crate::moon_sharp::interpreter::script::Script>,
189        obj: impl ::core::convert::Into<crate::system::object::Object>,
190        index: impl ::core::convert::Into<crate::moon_sharp::interpreter::dynvalue::DynValue>,
191        is_name_index: impl ::core::convert::Into<bool>,
192    ) -> crate::moon_sharp::interpreter::dynvalue::DynValue {
193        unsafe {
194            let __receiver =
195                <CompositeUserDataDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
196            {
197                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
198                let __vi = *__vt.get(6usize).unwrap_or_else(|| {
199                    panic!(
200                        "unity: virtual slot {}
201 out of range (vtable len {}
202) on the runtime class behind {}
203 (method `{}
204`)",
205                        6usize,
206                        __vt.len(),
207                        <CompositeUserDataDescriptor as ::unity::ClassIdentity>::NAME,
208                        "Index",
209                    )
210                });
211                let __inner: extern "C" fn(
212                    CompositeUserDataDescriptor,
213                    crate::moon_sharp::interpreter::script::Script,
214                    crate::system::object::Object,
215                    crate::moon_sharp::interpreter::dynvalue::DynValue,
216                    bool,
217                    ::unity::OptionalMethod,
218                ) -> crate::moon_sharp::interpreter::dynvalue::DynValue = ::core::mem::transmute(__vi.method_ptr);
219                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
220                __inner(
221                    __receiver,
222                    ::core::convert::Into::into(script),
223                    ::core::convert::Into::into(obj),
224                    ::core::convert::Into::into(index),
225                    ::core::convert::Into::into(is_name_index),
226                    __mi,
227                )
228            }
229        }
230    }
231    #[doc = "`SetIndex(crate::moon_sharp::interpreter::script::Script, crate::system::object::Object, crate::moon_sharp::interpreter::dynvalue::DynValue, crate::moon_sharp::interpreter::dynvalue::DynValue, bool)` overload"]
232    fn set_index(
233        self,
234        script: impl ::core::convert::Into<crate::moon_sharp::interpreter::script::Script>,
235        obj: impl ::core::convert::Into<crate::system::object::Object>,
236        index: impl ::core::convert::Into<crate::moon_sharp::interpreter::dynvalue::DynValue>,
237        value: impl ::core::convert::Into<crate::moon_sharp::interpreter::dynvalue::DynValue>,
238        is_name_index: impl ::core::convert::Into<bool>,
239    ) -> bool {
240        unsafe {
241            let __receiver =
242                <CompositeUserDataDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
243            {
244                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
245                let __vi = *__vt.get(7usize).unwrap_or_else(|| {
246                    panic!(
247                        "unity: virtual slot {}
248 out of range (vtable len {}
249) on the runtime class behind {}
250 (method `{}
251`)",
252                        7usize,
253                        __vt.len(),
254                        <CompositeUserDataDescriptor as ::unity::ClassIdentity>::NAME,
255                        "SetIndex",
256                    )
257                });
258                let __inner: extern "C" fn(
259                    CompositeUserDataDescriptor,
260                    crate::moon_sharp::interpreter::script::Script,
261                    crate::system::object::Object,
262                    crate::moon_sharp::interpreter::dynvalue::DynValue,
263                    crate::moon_sharp::interpreter::dynvalue::DynValue,
264                    bool,
265                    ::unity::OptionalMethod,
266                ) -> bool = ::core::mem::transmute(__vi.method_ptr);
267                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
268                __inner(
269                    __receiver,
270                    ::core::convert::Into::into(script),
271                    ::core::convert::Into::into(obj),
272                    ::core::convert::Into::into(index),
273                    ::core::convert::Into::into(value),
274                    ::core::convert::Into::into(is_name_index),
275                    __mi,
276                )
277            }
278        }
279    }
280    #[doc = "`AsString(crate::system::object::Object)` overload"]
281    fn as_string(self, obj: impl ::core::convert::Into<crate::system::object::Object>) -> ::unity::Il2CppString {
282        unsafe {
283            let __receiver =
284                <CompositeUserDataDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
285            {
286                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
287                let __vi = *__vt.get(8usize).unwrap_or_else(|| {
288                    panic!(
289                        "unity: virtual slot {}
290 out of range (vtable len {}
291) on the runtime class behind {}
292 (method `{}
293`)",
294                        8usize,
295                        __vt.len(),
296                        <CompositeUserDataDescriptor as ::unity::ClassIdentity>::NAME,
297                        "AsString",
298                    )
299                });
300                let __inner: extern "C" fn(
301                    CompositeUserDataDescriptor,
302                    crate::system::object::Object,
303                    ::unity::OptionalMethod,
304                ) -> ::unity::Il2CppString = ::core::mem::transmute(__vi.method_ptr);
305                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
306                __inner(__receiver, ::core::convert::Into::into(obj), __mi)
307            }
308        }
309    }
310    #[doc = "`MetaIndex(crate::moon_sharp::interpreter::script::Script, crate::system::object::Object, ::unity::Il2CppString)` overload"]
311    fn meta_index(
312        self,
313        script: impl ::core::convert::Into<crate::moon_sharp::interpreter::script::Script>,
314        obj: impl ::core::convert::Into<crate::system::object::Object>,
315        metaname: impl ::core::convert::Into<::unity::Il2CppString>,
316    ) -> crate::moon_sharp::interpreter::dynvalue::DynValue {
317        unsafe {
318            let __receiver =
319                <CompositeUserDataDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
320            {
321                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
322                let __vi = *__vt.get(9usize).unwrap_or_else(|| {
323                    panic!(
324                        "unity: virtual slot {}
325 out of range (vtable len {}
326) on the runtime class behind {}
327 (method `{}
328`)",
329                        9usize,
330                        __vt.len(),
331                        <CompositeUserDataDescriptor as ::unity::ClassIdentity>::NAME,
332                        "MetaIndex",
333                    )
334                });
335                let __inner: extern "C" fn(
336                    CompositeUserDataDescriptor,
337                    crate::moon_sharp::interpreter::script::Script,
338                    crate::system::object::Object,
339                    ::unity::Il2CppString,
340                    ::unity::OptionalMethod,
341                ) -> crate::moon_sharp::interpreter::dynvalue::DynValue = ::core::mem::transmute(__vi.method_ptr);
342                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
343                __inner(
344                    __receiver,
345                    ::core::convert::Into::into(script),
346                    ::core::convert::Into::into(obj),
347                    ::core::convert::Into::into(metaname),
348                    __mi,
349                )
350            }
351        }
352    }
353    #[doc = "`IsTypeCompatible(::unity::SystemType, crate::system::object::Object)` overload"]
354    fn is_type_compatible(
355        self,
356        r#type: impl ::core::convert::Into<::unity::SystemType>,
357        obj: impl ::core::convert::Into<crate::system::object::Object>,
358    ) -> bool {
359        unsafe {
360            let __receiver =
361                <CompositeUserDataDescriptor as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
362            {
363                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
364                let __vi = *__vt.get(10usize).unwrap_or_else(|| {
365                    panic!(
366                        "unity: virtual slot {}
367 out of range (vtable len {}
368) on the runtime class behind {}
369 (method `{}
370`)",
371                        10usize,
372                        __vt.len(),
373                        <CompositeUserDataDescriptor as ::unity::ClassIdentity>::NAME,
374                        "IsTypeCompatible",
375                    )
376                });
377                let __inner: extern "C" fn(
378                    CompositeUserDataDescriptor,
379                    ::unity::SystemType,
380                    crate::system::object::Object,
381                    ::unity::OptionalMethod,
382                ) -> bool = ::core::mem::transmute(__vi.method_ptr);
383                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
384                __inner(__receiver, ::core::convert::Into::into(r#type), ::core::convert::Into::into(obj), __mi)
385            }
386        }
387    }
388}
389
390#[cfg(feature = "moon_sharp-interpreter-interop-compositeuserdatadescriptor")]
391impl<__T: ICompositeUserDataDescriptor> ICompositeUserDataDescriptorMethods for __T {}
392
393#[cfg(feature = "moon_sharp-interpreter-interop-compositeuserdatadescriptor")]
394impl CompositeUserDataDescriptor {
395    pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
396        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
397    }
398
399    pub fn get_descriptors_method_info() -> &'static ::unity::il2cpp::MethodInfo {
400        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
401    }
402
403    pub fn get_name_method_info() -> &'static ::unity::il2cpp::MethodInfo {
404        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
405    }
406
407    pub fn get_type_method_info() -> &'static ::unity::il2cpp::MethodInfo {
408        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[3]
409    }
410
411    pub fn index_method_info() -> &'static ::unity::il2cpp::MethodInfo {
412        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[4]
413    }
414
415    pub fn set_index_method_info() -> &'static ::unity::il2cpp::MethodInfo {
416        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[5]
417    }
418
419    pub fn as_string_method_info() -> &'static ::unity::il2cpp::MethodInfo {
420        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[6]
421    }
422
423    pub fn meta_index_method_info() -> &'static ::unity::il2cpp::MethodInfo {
424        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[7]
425    }
426
427    pub fn is_type_compatible_method_info() -> &'static ::unity::il2cpp::MethodInfo {
428        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[8]
429    }
430}
431
432#[cfg(feature = "moon_sharp-interpreter-interop-compositeuserdatadescriptor")]
433impl CompositeUserDataDescriptor {
434    #[doc = "Direct (non-virtual) call to `CompositeUserDataDescriptor`'s own `get_Name`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
435    pub unsafe fn get_name(this: impl ::core::convert::Into<::unity::IlInstance>) -> ::unity::Il2CppString {
436        let __mi = Self::get_name_method_info();
437        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> ::unity::Il2CppString = ::core::mem::transmute(__mi.method_ptr);
438        __inner(this.into(), ::core::option::Option::None)
439    }
440
441    #[doc = "Direct (non-virtual) call to `CompositeUserDataDescriptor`'s own `get_Type`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
442    pub unsafe fn get_type(this: impl ::core::convert::Into<::unity::IlInstance>) -> ::unity::SystemType {
443        let __mi = Self::get_type_method_info();
444        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> ::unity::SystemType = ::core::mem::transmute(__mi.method_ptr);
445        __inner(this.into(), ::core::option::Option::None)
446    }
447
448    #[doc = "Direct (non-virtual) call to `CompositeUserDataDescriptor`'s own `Index`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
449    pub unsafe fn index(
450        this: impl ::core::convert::Into<::unity::IlInstance>,
451        script: crate::moon_sharp::interpreter::script::Script,
452        obj: crate::system::object::Object,
453        index: crate::moon_sharp::interpreter::dynvalue::DynValue,
454        is_name_index: bool,
455    ) -> crate::moon_sharp::interpreter::dynvalue::DynValue {
456        let __mi = Self::index_method_info();
457        let __inner: extern "C" fn(
458            ::unity::IlInstance,
459            crate::moon_sharp::interpreter::script::Script,
460            crate::system::object::Object,
461            crate::moon_sharp::interpreter::dynvalue::DynValue,
462            bool,
463            ::unity::OptionalMethod,
464        ) -> crate::moon_sharp::interpreter::dynvalue::DynValue = ::core::mem::transmute(__mi.method_ptr);
465        __inner(this.into(), script, obj, index, is_name_index, ::core::option::Option::None)
466    }
467
468    #[doc = "Direct (non-virtual) call to `CompositeUserDataDescriptor`'s own `SetIndex`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
469    pub unsafe fn set_index(
470        this: impl ::core::convert::Into<::unity::IlInstance>,
471        script: crate::moon_sharp::interpreter::script::Script,
472        obj: crate::system::object::Object,
473        index: crate::moon_sharp::interpreter::dynvalue::DynValue,
474        value: crate::moon_sharp::interpreter::dynvalue::DynValue,
475        is_name_index: bool,
476    ) -> bool {
477        let __mi = Self::set_index_method_info();
478        let __inner: extern "C" fn(
479            ::unity::IlInstance,
480            crate::moon_sharp::interpreter::script::Script,
481            crate::system::object::Object,
482            crate::moon_sharp::interpreter::dynvalue::DynValue,
483            crate::moon_sharp::interpreter::dynvalue::DynValue,
484            bool,
485            ::unity::OptionalMethod,
486        ) -> bool = ::core::mem::transmute(__mi.method_ptr);
487        __inner(this.into(), script, obj, index, value, is_name_index, ::core::option::Option::None)
488    }
489
490    #[doc = "Direct (non-virtual) call to `CompositeUserDataDescriptor`'s own `AsString`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
491    pub unsafe fn as_string(this: impl ::core::convert::Into<::unity::IlInstance>, obj: crate::system::object::Object) -> ::unity::Il2CppString {
492        let __mi = Self::as_string_method_info();
493        let __inner: extern "C" fn(::unity::IlInstance, crate::system::object::Object, ::unity::OptionalMethod) -> ::unity::Il2CppString =
494            ::core::mem::transmute(__mi.method_ptr);
495        __inner(this.into(), obj, ::core::option::Option::None)
496    }
497
498    #[doc = "Direct (non-virtual) call to `CompositeUserDataDescriptor`'s own `MetaIndex`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
499    pub unsafe fn meta_index(
500        this: impl ::core::convert::Into<::unity::IlInstance>,
501        script: crate::moon_sharp::interpreter::script::Script,
502        obj: crate::system::object::Object,
503        metaname: ::unity::Il2CppString,
504    ) -> crate::moon_sharp::interpreter::dynvalue::DynValue {
505        let __mi = Self::meta_index_method_info();
506        let __inner: extern "C" fn(
507            ::unity::IlInstance,
508            crate::moon_sharp::interpreter::script::Script,
509            crate::system::object::Object,
510            ::unity::Il2CppString,
511            ::unity::OptionalMethod,
512        ) -> crate::moon_sharp::interpreter::dynvalue::DynValue = ::core::mem::transmute(__mi.method_ptr);
513        __inner(this.into(), script, obj, metaname, ::core::option::Option::None)
514    }
515
516    #[doc = "Direct (non-virtual) call to `CompositeUserDataDescriptor`'s own `IsTypeCompatible`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
517    pub unsafe fn is_type_compatible(
518        this: impl ::core::convert::Into<::unity::IlInstance>,
519        r#type: ::unity::SystemType,
520        obj: crate::system::object::Object,
521    ) -> bool {
522        let __mi = Self::is_type_compatible_method_info();
523        let __inner: extern "C" fn(::unity::IlInstance, ::unity::SystemType, crate::system::object::Object, ::unity::OptionalMethod) -> bool =
524            ::core::mem::transmute(__mi.method_ptr);
525        __inner(this.into(), r#type, obj, ::core::option::Option::None)
526    }
527}
528
529#[cfg(feature = "moon_sharp-interpreter-interop-compositeuserdatadescriptor")]
530impl CompositeUserDataDescriptor {
531    #[doc = "`.ctor(crate::system::collections::generic::list_1::List_1<crate::moon_sharp::interpreter::interop::iuserdatadescriptor::IUserDataDescriptor>, ::unity::SystemType)` — overload selector"]
532    pub fn new(
533        descriptors: crate::system::collections::generic::list_1::List_1<
534            crate::moon_sharp::interpreter::interop::iuserdatadescriptor::IUserDataDescriptor,
535        >,
536        r#type: ::unity::SystemType,
537    ) -> Self {
538        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
539            panic!(
540                "{}
541::{}
542 failed to instantiate",
543                ::core::stringify!(CompositeUserDataDescriptor),
544                ::core::stringify!(new),
545            )
546        });
547        <Self as ICompositeUserDataDescriptorMethods>::ctor(this, descriptors, r#type);
548        this
549    }
550}
551
552#[cfg(feature = "moon_sharp-interpreter-interop-compositeuserdatadescriptor")]
553#[doc(hidden)]
554pub mod prelude {
555    pub use super::{CompositeUserDataDescriptor, ICompositeUserDataDescriptor, ICompositeUserDataDescriptorMethods};
556    pub use crate::system::object::IObject;
557    #[cfg(feature = "system-object")]
558    pub use crate::system::object::IObjectMethods;
559}