Skip to main content

engage/generated/system/
multicastdelegate.rs

1// @generated by il2cpp-bindgen — do not edit by hand.
2
3#[cfg(feature = "system-multicastdelegate-types")]
4mod __types {
5    #[allow(unused_imports)] use ::unity::prelude::*;
6
7    use super::*;
8    use crate::system::{
9        delegate::{Delegate, IDelegate},
10        object::{IObject, Object},
11    };
12
13    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/system/multicastdelegate/MulticastDelegate.md"))]
14    #[::unity::class(namespace = "System", name = "MulticastDelegate")]
15    #[parent(crate::system::delegate::Delegate)]
16    pub struct MulticastDelegate {
17        #[offset(104)]
18        #[rename(name = "delegates")]
19        pub delegates: ::unity::Array<crate::system::delegate::Delegate>,
20    }
21}
22
23#[cfg(feature = "system-multicastdelegate-types")]
24pub use __types::*;
25
26#[cfg(feature = "system-multicastdelegate")]
27pub trait IMulticastDelegateMethods: IMulticastDelegate {
28    #[doc = "`DynamicInvokeImpl(::unity::Array<crate::system::object::Object>)` overload"]
29    fn dynamic_invoke_impl(self, args: impl ::core::convert::Into<::unity::Array<crate::system::object::Object>>) -> crate::system::object::Object {
30        unsafe {
31            let __receiver = <MulticastDelegate as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
32            {
33                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
34                let __vi = *__vt.get(6usize).unwrap_or_else(|| {
35                    panic!(
36                        "unity: virtual slot {}
37 out of range (vtable len {}
38) on the runtime class behind {}
39 (method `{}
40`)",
41                        6usize,
42                        __vt.len(),
43                        <MulticastDelegate as ::unity::ClassIdentity>::NAME,
44                        "DynamicInvokeImpl",
45                    )
46                });
47                let __inner: extern "C" fn(
48                    MulticastDelegate,
49                    ::unity::Array<crate::system::object::Object>,
50                    ::unity::OptionalMethod,
51                ) -> crate::system::object::Object = ::core::mem::transmute(__vi.method_ptr);
52                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
53                __inner(__receiver, ::core::convert::Into::into(args), __mi)
54            }
55        }
56    }
57    #[doc = "`Equals(crate::system::object::Object)` overload"]
58    fn equals(self, obj: impl ::core::convert::Into<crate::system::object::Object>) -> bool {
59        unsafe {
60            let __receiver = <MulticastDelegate as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
61            {
62                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
63                let __vi = *__vt.get(0usize).unwrap_or_else(|| {
64                    panic!(
65                        "unity: virtual slot {}
66 out of range (vtable len {}
67) on the runtime class behind {}
68 (method `{}
69`)",
70                        0usize,
71                        __vt.len(),
72                        <MulticastDelegate as ::unity::ClassIdentity>::NAME,
73                        "Equals",
74                    )
75                });
76                let __inner: extern "C" fn(MulticastDelegate, crate::system::object::Object, ::unity::OptionalMethod) -> bool =
77                    ::core::mem::transmute(__vi.method_ptr);
78                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
79                __inner(__receiver, ::core::convert::Into::into(obj), __mi)
80            }
81        }
82    }
83    #[doc = "`GetHashCode()` overload"]
84    fn get_hash_code(self) -> i32 {
85        unsafe {
86            let __receiver = <MulticastDelegate as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
87            {
88                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
89                let __vi = *__vt.get(2usize).unwrap_or_else(|| {
90                    panic!(
91                        "unity: virtual slot {}
92 out of range (vtable len {}
93) on the runtime class behind {}
94 (method `{}
95`)",
96                        2usize,
97                        __vt.len(),
98                        <MulticastDelegate as ::unity::ClassIdentity>::NAME,
99                        "GetHashCode",
100                    )
101                });
102                let __inner: extern "C" fn(MulticastDelegate, ::unity::OptionalMethod) -> i32 = ::core::mem::transmute(__vi.method_ptr);
103                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
104                __inner(__receiver, __mi)
105            }
106        }
107    }
108    #[doc = "`GetMethodImpl()` overload"]
109    fn get_method_impl(self) -> crate::system::reflection::methodinfo::MethodInfo {
110        unsafe {
111            let __receiver = <MulticastDelegate as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
112            {
113                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
114                let __vi = *__vt.get(8usize).unwrap_or_else(|| {
115                    panic!(
116                        "unity: virtual slot {}
117 out of range (vtable len {}
118) on the runtime class behind {}
119 (method `{}
120`)",
121                        8usize,
122                        __vt.len(),
123                        <MulticastDelegate as ::unity::ClassIdentity>::NAME,
124                        "GetMethodImpl",
125                    )
126                });
127                let __inner: extern "C" fn(MulticastDelegate, ::unity::OptionalMethod) -> crate::system::reflection::methodinfo::MethodInfo =
128                    ::core::mem::transmute(__vi.method_ptr);
129                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
130                __inner(__receiver, __mi)
131            }
132        }
133    }
134    #[doc = "`GetInvocationList()` overload"]
135    fn get_invocation_list(self) -> ::unity::Array<crate::system::delegate::Delegate> {
136        unsafe {
137            let __receiver = <MulticastDelegate as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
138            {
139                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
140                let __vi = *__vt.get(10usize).unwrap_or_else(|| {
141                    panic!(
142                        "unity: virtual slot {}
143 out of range (vtable len {}
144) on the runtime class behind {}
145 (method `{}
146`)",
147                        10usize,
148                        __vt.len(),
149                        <MulticastDelegate as ::unity::ClassIdentity>::NAME,
150                        "GetInvocationList",
151                    )
152                });
153                let __inner: extern "C" fn(MulticastDelegate, ::unity::OptionalMethod) -> ::unity::Array<crate::system::delegate::Delegate> =
154                    ::core::mem::transmute(__vi.method_ptr);
155                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
156                __inner(__receiver, __mi)
157            }
158        }
159    }
160    #[doc = "`CombineImpl(crate::system::delegate::Delegate)` overload"]
161    fn combine_impl(self, follow: impl ::core::convert::Into<crate::system::delegate::Delegate>) -> crate::system::delegate::Delegate {
162        unsafe {
163            let __receiver = <MulticastDelegate as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
164            {
165                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
166                let __vi = *__vt.get(11usize).unwrap_or_else(|| {
167                    panic!(
168                        "unity: virtual slot {}
169 out of range (vtable len {}
170) on the runtime class behind {}
171 (method `{}
172`)",
173                        11usize,
174                        __vt.len(),
175                        <MulticastDelegate as ::unity::ClassIdentity>::NAME,
176                        "CombineImpl",
177                    )
178                });
179                let __inner: extern "C" fn(
180                    MulticastDelegate,
181                    crate::system::delegate::Delegate,
182                    ::unity::OptionalMethod,
183                ) -> crate::system::delegate::Delegate = ::core::mem::transmute(__vi.method_ptr);
184                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
185                __inner(__receiver, ::core::convert::Into::into(follow), __mi)
186            }
187        }
188    }
189    #[doc = "`LastIndexOf(::unity::Array<crate::system::delegate::Delegate>, ::unity::Array<crate::system::delegate::Delegate>)` overload"]
190    fn last_index_of(
191        self,
192        haystack: impl ::core::convert::Into<::unity::Array<crate::system::delegate::Delegate>>,
193        needle: impl ::core::convert::Into<::unity::Array<crate::system::delegate::Delegate>>,
194    ) -> i32 {
195        unsafe {
196            let __receiver = <MulticastDelegate as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
197            ::unity::il2cpp_call!((::unity::module_base()+0x3385200usize)as*mut u8,i32;
198(MulticastDelegate)__receiver,(::unity::Array<crate::system::delegate::Delegate>)::core::convert::Into::into(haystack),(::unity::Array<crate::system::delegate::Delegate>)::core::convert::Into::into(needle))
199        }
200    }
201    #[doc = "`RemoveImpl(crate::system::delegate::Delegate)` overload"]
202    fn remove_impl(self, value: impl ::core::convert::Into<crate::system::delegate::Delegate>) -> crate::system::delegate::Delegate {
203        unsafe {
204            let __receiver = <MulticastDelegate as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
205            {
206                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
207                let __vi = *__vt.get(12usize).unwrap_or_else(|| {
208                    panic!(
209                        "unity: virtual slot {}
210 out of range (vtable len {}
211) on the runtime class behind {}
212 (method `{}
213`)",
214                        12usize,
215                        __vt.len(),
216                        <MulticastDelegate as ::unity::ClassIdentity>::NAME,
217                        "RemoveImpl",
218                    )
219                });
220                let __inner: extern "C" fn(
221                    MulticastDelegate,
222                    crate::system::delegate::Delegate,
223                    ::unity::OptionalMethod,
224                ) -> crate::system::delegate::Delegate = ::core::mem::transmute(__vi.method_ptr);
225                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
226                __inner(__receiver, ::core::convert::Into::into(value), __mi)
227            }
228        }
229    }
230}
231
232#[cfg(feature = "system-multicastdelegate")]
233impl<__T: IMulticastDelegate> IMulticastDelegateMethods for __T {}
234
235#[cfg(feature = "system-multicastdelegate")]
236impl MulticastDelegate {
237    pub fn dynamic_invoke_impl_method_info() -> &'static ::unity::il2cpp::MethodInfo {
238        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
239    }
240
241    pub fn equals_method_info() -> &'static ::unity::il2cpp::MethodInfo {
242        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
243    }
244
245    pub fn get_hash_code_method_info() -> &'static ::unity::il2cpp::MethodInfo {
246        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[3]
247    }
248
249    pub fn get_method_impl_method_info() -> &'static ::unity::il2cpp::MethodInfo {
250        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[4]
251    }
252
253    pub fn get_invocation_list_method_info() -> &'static ::unity::il2cpp::MethodInfo {
254        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[5]
255    }
256
257    pub fn combine_impl_method_info() -> &'static ::unity::il2cpp::MethodInfo {
258        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[6]
259    }
260
261    pub fn last_index_of_method_info() -> &'static ::unity::il2cpp::MethodInfo {
262        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[7]
263    }
264
265    pub fn remove_impl_method_info() -> &'static ::unity::il2cpp::MethodInfo {
266        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[8]
267    }
268}
269
270#[cfg(feature = "system-multicastdelegate")]
271impl MulticastDelegate {
272    #[doc = "Direct (non-virtual) call to `MulticastDelegate`'s own `DynamicInvokeImpl`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
273    pub unsafe fn dynamic_invoke_impl(
274        this: impl ::core::convert::Into<::unity::IlInstance>,
275        args: ::unity::Array<crate::system::object::Object>,
276    ) -> crate::system::object::Object {
277        let __mi = Self::dynamic_invoke_impl_method_info();
278        let __inner: extern "C" fn(
279            ::unity::IlInstance,
280            ::unity::Array<crate::system::object::Object>,
281            ::unity::OptionalMethod,
282        ) -> crate::system::object::Object = ::core::mem::transmute(__mi.method_ptr);
283        __inner(this.into(), args, ::core::option::Option::None)
284    }
285
286    #[doc = "Direct (non-virtual) call to `MulticastDelegate`'s own `Equals`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
287    pub unsafe fn equals(this: impl ::core::convert::Into<::unity::IlInstance>, obj: crate::system::object::Object) -> bool {
288        let __mi = Self::equals_method_info();
289        let __inner: extern "C" fn(::unity::IlInstance, crate::system::object::Object, ::unity::OptionalMethod) -> bool =
290            ::core::mem::transmute(__mi.method_ptr);
291        __inner(this.into(), obj, ::core::option::Option::None)
292    }
293
294    #[doc = "Direct (non-virtual) call to `MulticastDelegate`'s own `GetHashCode`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
295    pub unsafe fn get_hash_code(this: impl ::core::convert::Into<::unity::IlInstance>) -> i32 {
296        let __mi = Self::get_hash_code_method_info();
297        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> i32 = ::core::mem::transmute(__mi.method_ptr);
298        __inner(this.into(), ::core::option::Option::None)
299    }
300
301    #[doc = "Direct (non-virtual) call to `MulticastDelegate`'s own `GetMethodImpl`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
302    pub unsafe fn get_method_impl(this: impl ::core::convert::Into<::unity::IlInstance>) -> crate::system::reflection::methodinfo::MethodInfo {
303        let __mi = Self::get_method_impl_method_info();
304        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> crate::system::reflection::methodinfo::MethodInfo =
305            ::core::mem::transmute(__mi.method_ptr);
306        __inner(this.into(), ::core::option::Option::None)
307    }
308
309    #[doc = "Direct (non-virtual) call to `MulticastDelegate`'s own `GetInvocationList`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
310    pub unsafe fn get_invocation_list(this: impl ::core::convert::Into<::unity::IlInstance>) -> ::unity::Array<crate::system::delegate::Delegate> {
311        let __mi = Self::get_invocation_list_method_info();
312        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> ::unity::Array<crate::system::delegate::Delegate> =
313            ::core::mem::transmute(__mi.method_ptr);
314        __inner(this.into(), ::core::option::Option::None)
315    }
316
317    #[doc = "Direct (non-virtual) call to `MulticastDelegate`'s own `CombineImpl`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
318    pub unsafe fn combine_impl(
319        this: impl ::core::convert::Into<::unity::IlInstance>,
320        follow: crate::system::delegate::Delegate,
321    ) -> crate::system::delegate::Delegate {
322        let __mi = Self::combine_impl_method_info();
323        let __inner: extern "C" fn(
324            ::unity::IlInstance,
325            crate::system::delegate::Delegate,
326            ::unity::OptionalMethod,
327        ) -> crate::system::delegate::Delegate = ::core::mem::transmute(__mi.method_ptr);
328        __inner(this.into(), follow, ::core::option::Option::None)
329    }
330
331    #[doc = "Direct (non-virtual) call to `MulticastDelegate`'s own `RemoveImpl`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
332    pub unsafe fn remove_impl(
333        this: impl ::core::convert::Into<::unity::IlInstance>,
334        value: crate::system::delegate::Delegate,
335    ) -> crate::system::delegate::Delegate {
336        let __mi = Self::remove_impl_method_info();
337        let __inner: extern "C" fn(
338            ::unity::IlInstance,
339            crate::system::delegate::Delegate,
340            ::unity::OptionalMethod,
341        ) -> crate::system::delegate::Delegate = ::core::mem::transmute(__mi.method_ptr);
342        __inner(this.into(), value, ::core::option::Option::None)
343    }
344}
345
346#[cfg(feature = "system-multicastdelegate")]
347#[doc(hidden)]
348pub mod prelude {
349    pub use super::{IMulticastDelegate, IMulticastDelegateMethods, MulticastDelegate};
350    #[cfg(feature = "system-delegate")]
351    pub use crate::system::delegate::IDelegateMethods;
352    #[cfg(feature = "system-object")]
353    pub use crate::system::object::IObjectMethods;
354    pub use crate::system::{delegate::IDelegate, object::IObject};
355}