Skip to main content

engage/generated/unity_engine/resource_management/async_operations/
iasyncoperation.rs

1// @generated by il2cpp-bindgen — do not edit by hand.
2
3#[cfg(feature = "unity_engine-resource_management-async_operations-iasyncoperation-types")]
4mod __types {
5    #[allow(unused_imports)] use ::unity::prelude::*;
6
7    use super::*;
8
9    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/unity_engine/resource_management/async_operations/iasyncoperation/IAsyncOperation.md"))]
10    #[::unity::class(namespace = "UnityEngine.ResourceManagement.AsyncOperations", name = "IAsyncOperation")]
11    pub struct IAsyncOperation {}
12}
13
14#[cfg(feature = "unity_engine-resource_management-async_operations-iasyncoperation-types")]
15pub use __types::*;
16
17#[cfg(feature = "unity_engine-resource_management-async_operations-iasyncoperation")]
18pub trait IIAsyncOperationMethods: IIAsyncOperation {
19    #[doc = "`GetResultAsObject()` overload"]
20    fn get_result_as_object(self) -> crate::system::object::Object {
21        unsafe {
22            let __receiver = <IAsyncOperation as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
23            {
24                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
25                let __vi = *__vt.get(0usize).unwrap_or_else(|| {
26                    panic!(
27                        "unity: virtual slot {}
28 out of range (vtable len {}
29) on the runtime class behind {}
30 (method `{}
31`)",
32                        0usize,
33                        __vt.len(),
34                        <IAsyncOperation as ::unity::ClassIdentity>::NAME,
35                        "GetResultAsObject",
36                    )
37                });
38                let __inner: extern "C" fn(IAsyncOperation, ::unity::OptionalMethod) -> crate::system::object::Object =
39                    ::core::mem::transmute(__vi.method_ptr);
40                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
41                __inner(__receiver, __mi)
42            }
43        }
44    }
45    #[doc = "`get_ResultType()` overload"]
46    fn get_result_type(self) -> ::unity::SystemType {
47        unsafe {
48            let __receiver = <IAsyncOperation as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
49            {
50                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
51                let __vi = *__vt.get(1usize).unwrap_or_else(|| {
52                    panic!(
53                        "unity: virtual slot {}
54 out of range (vtable len {}
55) on the runtime class behind {}
56 (method `{}
57`)",
58                        1usize,
59                        __vt.len(),
60                        <IAsyncOperation as ::unity::ClassIdentity>::NAME,
61                        "get_ResultType",
62                    )
63                });
64                let __inner: extern "C" fn(IAsyncOperation, ::unity::OptionalMethod) -> ::unity::SystemType = ::core::mem::transmute(__vi.method_ptr);
65                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
66                __inner(__receiver, __mi)
67            }
68        }
69    }
70    #[doc = "`get_Version()` overload"]
71    fn get_version(self) -> i32 {
72        unsafe {
73            let __receiver = <IAsyncOperation as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
74            {
75                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
76                let __vi = *__vt.get(2usize).unwrap_or_else(|| {
77                    panic!(
78                        "unity: virtual slot {}
79 out of range (vtable len {}
80) on the runtime class behind {}
81 (method `{}
82`)",
83                        2usize,
84                        __vt.len(),
85                        <IAsyncOperation as ::unity::ClassIdentity>::NAME,
86                        "get_Version",
87                    )
88                });
89                let __inner: extern "C" fn(IAsyncOperation, ::unity::OptionalMethod) -> i32 = ::core::mem::transmute(__vi.method_ptr);
90                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
91                __inner(__receiver, __mi)
92            }
93        }
94    }
95    #[doc = "`get_DebugName()` overload"]
96    fn get_debug_name(self) -> ::unity::Il2CppString {
97        unsafe {
98            let __receiver = <IAsyncOperation as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
99            {
100                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
101                let __vi = *__vt.get(3usize).unwrap_or_else(|| {
102                    panic!(
103                        "unity: virtual slot {}
104 out of range (vtable len {}
105) on the runtime class behind {}
106 (method `{}
107`)",
108                        3usize,
109                        __vt.len(),
110                        <IAsyncOperation as ::unity::ClassIdentity>::NAME,
111                        "get_DebugName",
112                    )
113                });
114                let __inner: extern "C" fn(IAsyncOperation, ::unity::OptionalMethod) -> ::unity::Il2CppString =
115                    ::core::mem::transmute(__vi.method_ptr);
116                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
117                __inner(__receiver, __mi)
118            }
119        }
120    }
121    #[doc = "`DecrementReferenceCount()` overload"]
122    fn decrement_reference_count(self) -> () {
123        unsafe {
124            let __receiver = <IAsyncOperation as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
125            {
126                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
127                let __vi = *__vt.get(4usize).unwrap_or_else(|| {
128                    panic!(
129                        "unity: virtual slot {}
130 out of range (vtable len {}
131) on the runtime class behind {}
132 (method `{}
133`)",
134                        4usize,
135                        __vt.len(),
136                        <IAsyncOperation as ::unity::ClassIdentity>::NAME,
137                        "DecrementReferenceCount",
138                    )
139                });
140                let __inner: extern "C" fn(IAsyncOperation, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
141                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
142                __inner(__receiver, __mi)
143            }
144        }
145    }
146    #[doc = "`IncrementReferenceCount()` overload"]
147    fn increment_reference_count(self) -> () {
148        unsafe {
149            let __receiver = <IAsyncOperation as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
150            {
151                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
152                let __vi = *__vt.get(5usize).unwrap_or_else(|| {
153                    panic!(
154                        "unity: virtual slot {}
155 out of range (vtable len {}
156) on the runtime class behind {}
157 (method `{}
158`)",
159                        5usize,
160                        __vt.len(),
161                        <IAsyncOperation as ::unity::ClassIdentity>::NAME,
162                        "IncrementReferenceCount",
163                    )
164                });
165                let __inner: extern "C" fn(IAsyncOperation, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
166                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
167                __inner(__receiver, __mi)
168            }
169        }
170    }
171    #[doc = "`get_ReferenceCount()` overload"]
172    fn get_reference_count(self) -> i32 {
173        unsafe {
174            let __receiver = <IAsyncOperation as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
175            {
176                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
177                let __vi = *__vt.get(6usize).unwrap_or_else(|| {
178                    panic!(
179                        "unity: virtual slot {}
180 out of range (vtable len {}
181) on the runtime class behind {}
182 (method `{}
183`)",
184                        6usize,
185                        __vt.len(),
186                        <IAsyncOperation as ::unity::ClassIdentity>::NAME,
187                        "get_ReferenceCount",
188                    )
189                });
190                let __inner: extern "C" fn(IAsyncOperation, ::unity::OptionalMethod) -> i32 = ::core::mem::transmute(__vi.method_ptr);
191                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
192                __inner(__receiver, __mi)
193            }
194        }
195    }
196    #[doc = "`get_PercentComplete()` overload"]
197    fn get_percent_complete(self) -> f32 {
198        unsafe {
199            let __receiver = <IAsyncOperation as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
200            {
201                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
202                let __vi = *__vt.get(7usize).unwrap_or_else(|| {
203                    panic!(
204                        "unity: virtual slot {}
205 out of range (vtable len {}
206) on the runtime class behind {}
207 (method `{}
208`)",
209                        7usize,
210                        __vt.len(),
211                        <IAsyncOperation as ::unity::ClassIdentity>::NAME,
212                        "get_PercentComplete",
213                    )
214                });
215                let __inner: extern "C" fn(IAsyncOperation, ::unity::OptionalMethod) -> f32 = ::core::mem::transmute(__vi.method_ptr);
216                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
217                __inner(__receiver, __mi)
218            }
219        }
220    }
221    #[doc = "`GetDownloadStatus(crate::system::collections::generic::hashset_1::HashSet_1<crate::system::object::Object>)` overload"]
222    fn get_download_status(
223        self,
224        visited: impl ::core::convert::Into<crate::system::collections::generic::hashset_1::HashSet_1<crate::system::object::Object>>,
225    ) -> crate::unity_engine::resource_management::async_operations::downloadstatus::DownloadStatus {
226        unsafe {
227            let __receiver = <IAsyncOperation as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
228            {
229                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
230                let __vi = *__vt.get(8usize).unwrap_or_else(|| {
231                    panic!(
232                        "unity: virtual slot {}
233 out of range (vtable len {}
234) on the runtime class behind {}
235 (method `{}
236`)",
237                        8usize,
238                        __vt.len(),
239                        <IAsyncOperation as ::unity::ClassIdentity>::NAME,
240                        "GetDownloadStatus",
241                    )
242                });
243                let __inner: extern "C" fn(
244                    IAsyncOperation,
245                    crate::system::collections::generic::hashset_1::HashSet_1<crate::system::object::Object>,
246                    ::unity::OptionalMethod,
247                )
248                    -> crate::unity_engine::resource_management::async_operations::downloadstatus::DownloadStatus =
249                    ::core::mem::transmute(__vi.method_ptr);
250                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
251                __inner(__receiver, ::core::convert::Into::into(visited), __mi)
252            }
253        }
254    }
255    #[doc = "`get_Status()` overload"]
256    fn get_status(self) -> crate::unity_engine::resource_management::async_operations::asyncoperationstatus::AsyncOperationStatus {
257        unsafe {
258            let __receiver = <IAsyncOperation as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
259            {
260                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
261                let __vi = *__vt.get(9usize).unwrap_or_else(|| {
262                    panic!(
263                        "unity: virtual slot {}
264 out of range (vtable len {}
265) on the runtime class behind {}
266 (method `{}
267`)",
268                        9usize,
269                        __vt.len(),
270                        <IAsyncOperation as ::unity::ClassIdentity>::NAME,
271                        "get_Status",
272                    )
273                });
274                let __inner: extern "C" fn(
275                    IAsyncOperation,
276                    ::unity::OptionalMethod,
277                )
278                    -> crate::unity_engine::resource_management::async_operations::asyncoperationstatus::AsyncOperationStatus =
279                    ::core::mem::transmute(__vi.method_ptr);
280                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
281                __inner(__receiver, __mi)
282            }
283        }
284    }
285    #[doc = "`get_IsDone()` overload"]
286    fn get_is_done(self) -> bool {
287        unsafe {
288            let __receiver = <IAsyncOperation as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
289            {
290                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
291                let __vi = *__vt.get(11usize).unwrap_or_else(|| {
292                    panic!(
293                        "unity: virtual slot {}
294 out of range (vtable len {}
295) on the runtime class behind {}
296 (method `{}
297`)",
298                        11usize,
299                        __vt.len(),
300                        <IAsyncOperation as ::unity::ClassIdentity>::NAME,
301                        "get_IsDone",
302                    )
303                });
304                let __inner: extern "C" fn(IAsyncOperation, ::unity::OptionalMethod) -> bool = ::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, __mi)
307            }
308        }
309    }
310    #[doc = "`set_OnDestroy(crate::system::action_1::Action_1<crate::unity_engine::resource_management::async_operations::iasyncoperation::IAsyncOperation>)` overload"]
311    fn set_on_destroy(
312        self,
313        value: impl ::core::convert::Into<
314            crate::system::action_1::Action_1<crate::unity_engine::resource_management::async_operations::iasyncoperation::IAsyncOperation>,
315        >,
316    ) -> () {
317        unsafe {
318            let __receiver = <IAsyncOperation as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
319            {
320                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
321                let __vi = *__vt.get(12usize).unwrap_or_else(|| {
322                    panic!(
323                        "unity: virtual slot {}
324 out of range (vtable len {}
325) on the runtime class behind {}
326 (method `{}
327`)",
328                        12usize,
329                        __vt.len(),
330                        <IAsyncOperation as ::unity::ClassIdentity>::NAME,
331                        "set_OnDestroy",
332                    )
333                });
334                let __inner: extern "C" fn(
335                    IAsyncOperation,
336                    crate::system::action_1::Action_1<crate::unity_engine::resource_management::async_operations::iasyncoperation::IAsyncOperation>,
337                    ::unity::OptionalMethod,
338                ) -> () = ::core::mem::transmute(__vi.method_ptr);
339                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
340                __inner(__receiver, ::core::convert::Into::into(value), __mi)
341            }
342        }
343    }
344    #[doc = "`GetDependencies(crate::system::collections::generic::list_1::List_1<crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle>)` overload"]
345    fn get_dependencies(
346        self,
347        deps: impl ::core::convert::Into<
348            crate::system::collections::generic::list_1::List_1<
349                crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle,
350            >,
351        >,
352    ) -> () {
353        unsafe {
354            let __receiver = <IAsyncOperation as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
355            {
356                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
357                let __vi = *__vt.get(13usize).unwrap_or_else(|| {
358                    panic!(
359                        "unity: virtual slot {}
360 out of range (vtable len {}
361) on the runtime class behind {}
362 (method `{}
363`)",
364                        13usize,
365                        __vt.len(),
366                        <IAsyncOperation as ::unity::ClassIdentity>::NAME,
367                        "GetDependencies",
368                    )
369                });
370                let __inner: extern "C" fn(
371                    IAsyncOperation,
372                    crate::system::collections::generic::list_1::List_1<
373                        crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle,
374                    >,
375                    ::unity::OptionalMethod,
376                ) -> () = ::core::mem::transmute(__vi.method_ptr);
377                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
378                __inner(__receiver, ::core::convert::Into::into(deps), __mi)
379            }
380        }
381    }
382    #[doc = "`get_IsRunning()` overload"]
383    fn get_is_running(self) -> bool {
384        unsafe {
385            let __receiver = <IAsyncOperation as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
386            {
387                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
388                let __vi = *__vt.get(14usize).unwrap_or_else(|| {
389                    panic!(
390                        "unity: virtual slot {}
391 out of range (vtable len {}
392) on the runtime class behind {}
393 (method `{}
394`)",
395                        14usize,
396                        __vt.len(),
397                        <IAsyncOperation as ::unity::ClassIdentity>::NAME,
398                        "get_IsRunning",
399                    )
400                });
401                let __inner: extern "C" fn(IAsyncOperation, ::unity::OptionalMethod) -> bool = ::core::mem::transmute(__vi.method_ptr);
402                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
403                __inner(__receiver, __mi)
404            }
405        }
406    }
407    #[doc = "`add_CompletedTypeless(crate::system::action_1::Action_1<crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle>)` overload"]
408    fn add_completed_typeless(
409        self,
410        value: impl ::core::convert::Into<
411            crate::system::action_1::Action_1<crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle>,
412        >,
413    ) -> () {
414        unsafe {
415            let __receiver = <IAsyncOperation as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
416            {
417                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
418                let __vi = *__vt.get(15usize).unwrap_or_else(|| {
419                    panic!(
420                        "unity: virtual slot {}
421 out of range (vtable len {}
422) on the runtime class behind {}
423 (method `{}
424`)",
425                        15usize,
426                        __vt.len(),
427                        <IAsyncOperation as ::unity::ClassIdentity>::NAME,
428                        "add_CompletedTypeless",
429                    )
430                });
431                let __inner: extern "C" fn(
432                    IAsyncOperation,
433                    crate::system::action_1::Action_1<
434                        crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle,
435                    >,
436                    ::unity::OptionalMethod,
437                ) -> () = ::core::mem::transmute(__vi.method_ptr);
438                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
439                __inner(__receiver, ::core::convert::Into::into(value), __mi)
440            }
441        }
442    }
443    #[doc = "`remove_CompletedTypeless(crate::system::action_1::Action_1<crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle>)` overload"]
444    fn remove_completed_typeless(
445        self,
446        value: impl ::core::convert::Into<
447            crate::system::action_1::Action_1<crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle>,
448        >,
449    ) -> () {
450        unsafe {
451            let __receiver = <IAsyncOperation as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
452            {
453                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
454                let __vi = *__vt.get(16usize).unwrap_or_else(|| {
455                    panic!(
456                        "unity: virtual slot {}
457 out of range (vtable len {}
458) on the runtime class behind {}
459 (method `{}
460`)",
461                        16usize,
462                        __vt.len(),
463                        <IAsyncOperation as ::unity::ClassIdentity>::NAME,
464                        "remove_CompletedTypeless",
465                    )
466                });
467                let __inner: extern "C" fn(
468                    IAsyncOperation,
469                    crate::system::action_1::Action_1<
470                        crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle,
471                    >,
472                    ::unity::OptionalMethod,
473                ) -> () = ::core::mem::transmute(__vi.method_ptr);
474                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
475                __inner(__receiver, ::core::convert::Into::into(value), __mi)
476            }
477        }
478    }
479    #[doc = "`add_Destroyed(crate::system::action_1::Action_1<crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle>)` overload"]
480    fn add_destroyed(
481        self,
482        value: impl ::core::convert::Into<
483            crate::system::action_1::Action_1<crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle>,
484        >,
485    ) -> () {
486        unsafe {
487            let __receiver = <IAsyncOperation as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
488            {
489                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
490                let __vi = *__vt.get(17usize).unwrap_or_else(|| {
491                    panic!(
492                        "unity: virtual slot {}
493 out of range (vtable len {}
494) on the runtime class behind {}
495 (method `{}
496`)",
497                        17usize,
498                        __vt.len(),
499                        <IAsyncOperation as ::unity::ClassIdentity>::NAME,
500                        "add_Destroyed",
501                    )
502                });
503                let __inner: extern "C" fn(
504                    IAsyncOperation,
505                    crate::system::action_1::Action_1<
506                        crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle,
507                    >,
508                    ::unity::OptionalMethod,
509                ) -> () = ::core::mem::transmute(__vi.method_ptr);
510                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
511                __inner(__receiver, ::core::convert::Into::into(value), __mi)
512            }
513        }
514    }
515    #[doc = "`remove_Destroyed(crate::system::action_1::Action_1<crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle>)` overload"]
516    fn remove_destroyed(
517        self,
518        value: impl ::core::convert::Into<
519            crate::system::action_1::Action_1<crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle>,
520        >,
521    ) -> () {
522        unsafe {
523            let __receiver = <IAsyncOperation as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
524            {
525                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
526                let __vi = *__vt.get(18usize).unwrap_or_else(|| {
527                    panic!(
528                        "unity: virtual slot {}
529 out of range (vtable len {}
530) on the runtime class behind {}
531 (method `{}
532`)",
533                        18usize,
534                        __vt.len(),
535                        <IAsyncOperation as ::unity::ClassIdentity>::NAME,
536                        "remove_Destroyed",
537                    )
538                });
539                let __inner: extern "C" fn(
540                    IAsyncOperation,
541                    crate::system::action_1::Action_1<
542                        crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle,
543                    >,
544                    ::unity::OptionalMethod,
545                ) -> () = ::core::mem::transmute(__vi.method_ptr);
546                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
547                __inner(__receiver, ::core::convert::Into::into(value), __mi)
548            }
549        }
550    }
551    #[doc = "`InvokeCompletionEvent()` overload"]
552    fn invoke_completion_event(self) -> () {
553        unsafe {
554            let __receiver = <IAsyncOperation as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
555            {
556                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
557                let __vi = *__vt.get(19usize).unwrap_or_else(|| {
558                    panic!(
559                        "unity: virtual slot {}
560 out of range (vtable len {}
561) on the runtime class behind {}
562 (method `{}
563`)",
564                        19usize,
565                        __vt.len(),
566                        <IAsyncOperation as ::unity::ClassIdentity>::NAME,
567                        "InvokeCompletionEvent",
568                    )
569                });
570                let __inner: extern "C" fn(IAsyncOperation, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
571                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
572                __inner(__receiver, __mi)
573            }
574        }
575    }
576    #[doc = "`Start(crate::unity_engine::resource_management::resourcemanager::ResourceManager, crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle, crate::root::delegatelist_1::DelegateList_1<f32>)` overload"]
577    fn start(
578        self,
579        rm: impl ::core::convert::Into<crate::unity_engine::resource_management::resourcemanager::ResourceManager>,
580        dependency: impl ::core::convert::Into<crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle>,
581        update_callbacks: impl ::core::convert::Into<crate::root::delegatelist_1::DelegateList_1<f32>>,
582    ) -> () {
583        unsafe {
584            let __receiver = <IAsyncOperation as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
585            {
586                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
587                let __vi = *__vt.get(21usize).unwrap_or_else(|| {
588                    panic!(
589                        "unity: virtual slot {}
590 out of range (vtable len {}
591) on the runtime class behind {}
592 (method `{}
593`)",
594                        21usize,
595                        __vt.len(),
596                        <IAsyncOperation as ::unity::ClassIdentity>::NAME,
597                        "Start",
598                    )
599                });
600                let __inner: extern "C" fn(
601                    IAsyncOperation,
602                    crate::unity_engine::resource_management::resourcemanager::ResourceManager,
603                    crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle,
604                    crate::root::delegatelist_1::DelegateList_1<f32>,
605                    ::unity::OptionalMethod,
606                ) -> () = ::core::mem::transmute(__vi.method_ptr);
607                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
608                __inner(
609                    __receiver,
610                    ::core::convert::Into::into(rm),
611                    ::core::convert::Into::into(dependency),
612                    ::core::convert::Into::into(update_callbacks),
613                    __mi,
614                )
615            }
616        }
617    }
618    #[doc = "`get_Handle()` overload"]
619    fn get_handle(self) -> crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle {
620        unsafe {
621            let __receiver = <IAsyncOperation as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
622            {
623                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
624                let __vi = *__vt.get(22usize).unwrap_or_else(|| {
625                    panic!(
626                        "unity: virtual slot {}
627 out of range (vtable len {}
628) on the runtime class behind {}
629 (method `{}
630`)",
631                        22usize,
632                        __vt.len(),
633                        <IAsyncOperation as ::unity::ClassIdentity>::NAME,
634                        "get_Handle",
635                    )
636                });
637                let __inner: extern "C" fn(
638                    IAsyncOperation,
639                    ::unity::OptionalMethod,
640                )
641                    -> crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle =
642                    ::core::mem::transmute(__vi.method_ptr);
643                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
644                __inner(__receiver, __mi)
645            }
646        }
647    }
648    #[doc = "`WaitForCompletion()` overload"]
649    fn wait_for_completion(self) -> () {
650        unsafe {
651            let __receiver = <IAsyncOperation as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
652            {
653                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
654                let __vi = *__vt.get(23usize).unwrap_or_else(|| {
655                    panic!(
656                        "unity: virtual slot {}
657 out of range (vtable len {}
658) on the runtime class behind {}
659 (method `{}
660`)",
661                        23usize,
662                        __vt.len(),
663                        <IAsyncOperation as ::unity::ClassIdentity>::NAME,
664                        "WaitForCompletion",
665                    )
666                });
667                let __inner: extern "C" fn(IAsyncOperation, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
668                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
669                __inner(__receiver, __mi)
670            }
671        }
672    }
673}
674
675#[cfg(feature = "unity_engine-resource_management-async_operations-iasyncoperation")]
676impl<__T: IIAsyncOperation> IIAsyncOperationMethods for __T {}
677
678#[cfg(feature = "unity_engine-resource_management-async_operations-iasyncoperation")]
679impl IAsyncOperation {
680    pub fn get_result_as_object_method_info() -> &'static ::unity::il2cpp::MethodInfo {
681        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
682    }
683
684    pub fn get_result_type_method_info() -> &'static ::unity::il2cpp::MethodInfo {
685        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
686    }
687
688    pub fn get_version_method_info() -> &'static ::unity::il2cpp::MethodInfo {
689        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
690    }
691
692    pub fn get_debug_name_method_info() -> &'static ::unity::il2cpp::MethodInfo {
693        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[3]
694    }
695
696    pub fn decrement_reference_count_method_info() -> &'static ::unity::il2cpp::MethodInfo {
697        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[4]
698    }
699
700    pub fn increment_reference_count_method_info() -> &'static ::unity::il2cpp::MethodInfo {
701        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[5]
702    }
703
704    pub fn get_reference_count_method_info() -> &'static ::unity::il2cpp::MethodInfo {
705        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[6]
706    }
707
708    pub fn get_percent_complete_method_info() -> &'static ::unity::il2cpp::MethodInfo {
709        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[7]
710    }
711
712    pub fn get_download_status_method_info() -> &'static ::unity::il2cpp::MethodInfo {
713        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[8]
714    }
715
716    pub fn get_status_method_info() -> &'static ::unity::il2cpp::MethodInfo {
717        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[9]
718    }
719
720    pub fn get_is_done_method_info() -> &'static ::unity::il2cpp::MethodInfo {
721        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[11]
722    }
723
724    pub fn set_on_destroy_method_info() -> &'static ::unity::il2cpp::MethodInfo {
725        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[12]
726    }
727
728    pub fn get_dependencies_method_info() -> &'static ::unity::il2cpp::MethodInfo {
729        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[13]
730    }
731
732    pub fn get_is_running_method_info() -> &'static ::unity::il2cpp::MethodInfo {
733        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[14]
734    }
735
736    pub fn add_completed_typeless_method_info() -> &'static ::unity::il2cpp::MethodInfo {
737        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[15]
738    }
739
740    pub fn remove_completed_typeless_method_info() -> &'static ::unity::il2cpp::MethodInfo {
741        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[16]
742    }
743
744    pub fn add_destroyed_method_info() -> &'static ::unity::il2cpp::MethodInfo {
745        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[17]
746    }
747
748    pub fn remove_destroyed_method_info() -> &'static ::unity::il2cpp::MethodInfo {
749        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[18]
750    }
751
752    pub fn invoke_completion_event_method_info() -> &'static ::unity::il2cpp::MethodInfo {
753        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[19]
754    }
755
756    pub fn start_method_info() -> &'static ::unity::il2cpp::MethodInfo {
757        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[21]
758    }
759
760    pub fn get_handle_method_info() -> &'static ::unity::il2cpp::MethodInfo {
761        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[22]
762    }
763
764    pub fn wait_for_completion_method_info() -> &'static ::unity::il2cpp::MethodInfo {
765        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[23]
766    }
767}
768
769#[cfg(feature = "unity_engine-resource_management-async_operations-iasyncoperation")]
770impl IAsyncOperation {
771    #[doc = "Direct (non-virtual) call to `IAsyncOperation`'s own `GetResultAsObject`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
772    pub unsafe fn get_result_as_object(this: impl ::core::convert::Into<::unity::IlInstance>) -> crate::system::object::Object {
773        let __mi = Self::get_result_as_object_method_info();
774        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> crate::system::object::Object =
775            ::core::mem::transmute(__mi.method_ptr);
776        __inner(this.into(), ::core::option::Option::None)
777    }
778
779    #[doc = "Direct (non-virtual) call to `IAsyncOperation`'s own `get_ResultType`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
780    pub unsafe fn get_result_type(this: impl ::core::convert::Into<::unity::IlInstance>) -> ::unity::SystemType {
781        let __mi = Self::get_result_type_method_info();
782        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> ::unity::SystemType = ::core::mem::transmute(__mi.method_ptr);
783        __inner(this.into(), ::core::option::Option::None)
784    }
785
786    #[doc = "Direct (non-virtual) call to `IAsyncOperation`'s own `get_Version`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
787    pub unsafe fn get_version(this: impl ::core::convert::Into<::unity::IlInstance>) -> i32 {
788        let __mi = Self::get_version_method_info();
789        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> i32 = ::core::mem::transmute(__mi.method_ptr);
790        __inner(this.into(), ::core::option::Option::None)
791    }
792
793    #[doc = "Direct (non-virtual) call to `IAsyncOperation`'s own `get_DebugName`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
794    pub unsafe fn get_debug_name(this: impl ::core::convert::Into<::unity::IlInstance>) -> ::unity::Il2CppString {
795        let __mi = Self::get_debug_name_method_info();
796        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> ::unity::Il2CppString = ::core::mem::transmute(__mi.method_ptr);
797        __inner(this.into(), ::core::option::Option::None)
798    }
799
800    #[doc = "Direct (non-virtual) call to `IAsyncOperation`'s own `DecrementReferenceCount`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
801    pub unsafe fn decrement_reference_count(this: impl ::core::convert::Into<::unity::IlInstance>) -> () {
802        let __mi = Self::decrement_reference_count_method_info();
803        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
804        __inner(this.into(), ::core::option::Option::None)
805    }
806
807    #[doc = "Direct (non-virtual) call to `IAsyncOperation`'s own `IncrementReferenceCount`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
808    pub unsafe fn increment_reference_count(this: impl ::core::convert::Into<::unity::IlInstance>) -> () {
809        let __mi = Self::increment_reference_count_method_info();
810        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
811        __inner(this.into(), ::core::option::Option::None)
812    }
813
814    #[doc = "Direct (non-virtual) call to `IAsyncOperation`'s own `get_ReferenceCount`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
815    pub unsafe fn get_reference_count(this: impl ::core::convert::Into<::unity::IlInstance>) -> i32 {
816        let __mi = Self::get_reference_count_method_info();
817        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> i32 = ::core::mem::transmute(__mi.method_ptr);
818        __inner(this.into(), ::core::option::Option::None)
819    }
820
821    #[doc = "Direct (non-virtual) call to `IAsyncOperation`'s own `get_PercentComplete`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
822    pub unsafe fn get_percent_complete(this: impl ::core::convert::Into<::unity::IlInstance>) -> f32 {
823        let __mi = Self::get_percent_complete_method_info();
824        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> f32 = ::core::mem::transmute(__mi.method_ptr);
825        __inner(this.into(), ::core::option::Option::None)
826    }
827
828    #[doc = "Direct (non-virtual) call to `IAsyncOperation`'s own `GetDownloadStatus`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
829    pub unsafe fn get_download_status(
830        this: impl ::core::convert::Into<::unity::IlInstance>,
831        visited: crate::system::collections::generic::hashset_1::HashSet_1<crate::system::object::Object>,
832    ) -> crate::unity_engine::resource_management::async_operations::downloadstatus::DownloadStatus {
833        let __mi = Self::get_download_status_method_info();
834        let __inner: extern "C" fn(
835            ::unity::IlInstance,
836            crate::system::collections::generic::hashset_1::HashSet_1<crate::system::object::Object>,
837            ::unity::OptionalMethod,
838        ) -> crate::unity_engine::resource_management::async_operations::downloadstatus::DownloadStatus = ::core::mem::transmute(__mi.method_ptr);
839        __inner(this.into(), visited, ::core::option::Option::None)
840    }
841
842    #[doc = "Direct (non-virtual) call to `IAsyncOperation`'s own `get_Status`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
843    pub unsafe fn get_status(
844        this: impl ::core::convert::Into<::unity::IlInstance>,
845    ) -> crate::unity_engine::resource_management::async_operations::asyncoperationstatus::AsyncOperationStatus {
846        let __mi = Self::get_status_method_info();
847        let __inner: extern "C" fn(
848            ::unity::IlInstance,
849            ::unity::OptionalMethod,
850        )
851            -> crate::unity_engine::resource_management::async_operations::asyncoperationstatus::AsyncOperationStatus =
852            ::core::mem::transmute(__mi.method_ptr);
853        __inner(this.into(), ::core::option::Option::None)
854    }
855
856    #[doc = "Direct (non-virtual) call to `IAsyncOperation`'s own `get_IsDone`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
857    pub unsafe fn get_is_done(this: impl ::core::convert::Into<::unity::IlInstance>) -> bool {
858        let __mi = Self::get_is_done_method_info();
859        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> bool = ::core::mem::transmute(__mi.method_ptr);
860        __inner(this.into(), ::core::option::Option::None)
861    }
862
863    #[doc = "Direct (non-virtual) call to `IAsyncOperation`'s own `set_OnDestroy`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
864    pub unsafe fn set_on_destroy(
865        this: impl ::core::convert::Into<::unity::IlInstance>,
866        value: crate::system::action_1::Action_1<crate::unity_engine::resource_management::async_operations::iasyncoperation::IAsyncOperation>,
867    ) -> () {
868        let __mi = Self::set_on_destroy_method_info();
869        let __inner: extern "C" fn(
870            ::unity::IlInstance,
871            crate::system::action_1::Action_1<crate::unity_engine::resource_management::async_operations::iasyncoperation::IAsyncOperation>,
872            ::unity::OptionalMethod,
873        ) -> () = ::core::mem::transmute(__mi.method_ptr);
874        __inner(this.into(), value, ::core::option::Option::None)
875    }
876
877    #[doc = "Direct (non-virtual) call to `IAsyncOperation`'s own `GetDependencies`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
878    pub unsafe fn get_dependencies(
879        this: impl ::core::convert::Into<::unity::IlInstance>,
880        deps: crate::system::collections::generic::list_1::List_1<
881            crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle,
882        >,
883    ) -> () {
884        let __mi = Self::get_dependencies_method_info();
885        let __inner: extern "C" fn(
886            ::unity::IlInstance,
887            crate::system::collections::generic::list_1::List_1<
888                crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle,
889            >,
890            ::unity::OptionalMethod,
891        ) -> () = ::core::mem::transmute(__mi.method_ptr);
892        __inner(this.into(), deps, ::core::option::Option::None)
893    }
894
895    #[doc = "Direct (non-virtual) call to `IAsyncOperation`'s own `get_IsRunning`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
896    pub unsafe fn get_is_running(this: impl ::core::convert::Into<::unity::IlInstance>) -> bool {
897        let __mi = Self::get_is_running_method_info();
898        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> bool = ::core::mem::transmute(__mi.method_ptr);
899        __inner(this.into(), ::core::option::Option::None)
900    }
901
902    #[doc = "Direct (non-virtual) call to `IAsyncOperation`'s own `add_CompletedTypeless`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
903    pub unsafe fn add_completed_typeless(
904        this: impl ::core::convert::Into<::unity::IlInstance>,
905        value: crate::system::action_1::Action_1<
906            crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle,
907        >,
908    ) -> () {
909        let __mi = Self::add_completed_typeless_method_info();
910        let __inner: extern "C" fn(
911            ::unity::IlInstance,
912            crate::system::action_1::Action_1<crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle>,
913            ::unity::OptionalMethod,
914        ) -> () = ::core::mem::transmute(__mi.method_ptr);
915        __inner(this.into(), value, ::core::option::Option::None)
916    }
917
918    #[doc = "Direct (non-virtual) call to `IAsyncOperation`'s own `remove_CompletedTypeless`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
919    pub unsafe fn remove_completed_typeless(
920        this: impl ::core::convert::Into<::unity::IlInstance>,
921        value: crate::system::action_1::Action_1<
922            crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle,
923        >,
924    ) -> () {
925        let __mi = Self::remove_completed_typeless_method_info();
926        let __inner: extern "C" fn(
927            ::unity::IlInstance,
928            crate::system::action_1::Action_1<crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle>,
929            ::unity::OptionalMethod,
930        ) -> () = ::core::mem::transmute(__mi.method_ptr);
931        __inner(this.into(), value, ::core::option::Option::None)
932    }
933
934    #[doc = "Direct (non-virtual) call to `IAsyncOperation`'s own `add_Destroyed`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
935    pub unsafe fn add_destroyed(
936        this: impl ::core::convert::Into<::unity::IlInstance>,
937        value: crate::system::action_1::Action_1<
938            crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle,
939        >,
940    ) -> () {
941        let __mi = Self::add_destroyed_method_info();
942        let __inner: extern "C" fn(
943            ::unity::IlInstance,
944            crate::system::action_1::Action_1<crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle>,
945            ::unity::OptionalMethod,
946        ) -> () = ::core::mem::transmute(__mi.method_ptr);
947        __inner(this.into(), value, ::core::option::Option::None)
948    }
949
950    #[doc = "Direct (non-virtual) call to `IAsyncOperation`'s own `remove_Destroyed`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
951    pub unsafe fn remove_destroyed(
952        this: impl ::core::convert::Into<::unity::IlInstance>,
953        value: crate::system::action_1::Action_1<
954            crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle,
955        >,
956    ) -> () {
957        let __mi = Self::remove_destroyed_method_info();
958        let __inner: extern "C" fn(
959            ::unity::IlInstance,
960            crate::system::action_1::Action_1<crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle>,
961            ::unity::OptionalMethod,
962        ) -> () = ::core::mem::transmute(__mi.method_ptr);
963        __inner(this.into(), value, ::core::option::Option::None)
964    }
965
966    #[doc = "Direct (non-virtual) call to `IAsyncOperation`'s own `InvokeCompletionEvent`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
967    pub unsafe fn invoke_completion_event(this: impl ::core::convert::Into<::unity::IlInstance>) -> () {
968        let __mi = Self::invoke_completion_event_method_info();
969        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
970        __inner(this.into(), ::core::option::Option::None)
971    }
972
973    #[doc = "Direct (non-virtual) call to `IAsyncOperation`'s own `Start`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
974    pub unsafe fn start(
975        this: impl ::core::convert::Into<::unity::IlInstance>,
976        rm: crate::unity_engine::resource_management::resourcemanager::ResourceManager,
977        dependency: crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle,
978        update_callbacks: crate::root::delegatelist_1::DelegateList_1<f32>,
979    ) -> () {
980        let __mi = Self::start_method_info();
981        let __inner: extern "C" fn(
982            ::unity::IlInstance,
983            crate::unity_engine::resource_management::resourcemanager::ResourceManager,
984            crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle,
985            crate::root::delegatelist_1::DelegateList_1<f32>,
986            ::unity::OptionalMethod,
987        ) -> () = ::core::mem::transmute(__mi.method_ptr);
988        __inner(this.into(), rm, dependency, update_callbacks, ::core::option::Option::None)
989    }
990
991    #[doc = "Direct (non-virtual) call to `IAsyncOperation`'s own `get_Handle`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
992    pub unsafe fn get_handle(
993        this: impl ::core::convert::Into<::unity::IlInstance>,
994    ) -> crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle {
995        let __mi = Self::get_handle_method_info();
996        let __inner: extern "C" fn(
997            ::unity::IlInstance,
998            ::unity::OptionalMethod,
999        )
1000            -> crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle =
1001            ::core::mem::transmute(__mi.method_ptr);
1002        __inner(this.into(), ::core::option::Option::None)
1003    }
1004
1005    #[doc = "Direct (non-virtual) call to `IAsyncOperation`'s own `WaitForCompletion`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
1006    pub unsafe fn wait_for_completion(this: impl ::core::convert::Into<::unity::IlInstance>) -> () {
1007        let __mi = Self::wait_for_completion_method_info();
1008        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
1009        __inner(this.into(), ::core::option::Option::None)
1010    }
1011}
1012
1013#[cfg(feature = "unity_engine-resource_management-async_operations-iasyncoperation")]
1014#[doc(hidden)]
1015pub mod prelude {
1016    pub use super::{IAsyncOperation, IIAsyncOperation, IIAsyncOperationMethods};
1017}