Skip to main content

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

1// @generated by il2cpp-bindgen — do not edit by hand.
2
3#[cfg(feature = "unity_engine-resource_management-async_operations-groupoperation-types")]
4mod __types {
5    #[allow(unused_imports)] use ::unity::prelude::*;
6
7    use super::*;
8    use crate::{
9        system::{
10            object::{IObject, Object},
11            r#enum::{Enum, IEnum},
12            valuetype::{IValueType, ValueType},
13        },
14        unity_engine::resource_management::async_operations::asyncoperationbase_1::{AsyncOperationBase_1, IAsyncOperationBase_1},
15    };
16
17    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/unity_engine/resource_management/async_operations/groupoperation/GroupOperation.md"))]
18    #[::unity::class(namespace = "UnityEngine.ResourceManagement.AsyncOperations", name = "GroupOperation")]
19    #[parent(crate::unity_engine::resource_management::async_operations::asyncoperationbase_1::AsyncOperationBase_1<crate::system::collections::generic::ilist_1_interface::IList_1_Interface<crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle> >)]
20    pub struct GroupOperation {
21        #[offset(136)]
22        #[rename(name = "m_InternalOnComplete")]
23        pub m_internal_on_complete:
24            crate::system::action_1::Action_1<crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle>,
25        #[offset(144)]
26        #[rename(name = "m_LoadedCount")]
27        pub m_loaded_count: i32,
28        #[offset(148)]
29        #[rename(name = "m_Settings")]
30        pub m_settings: crate::unity_engine::resource_management::async_operations::groupoperation::GroupOperation_GroupOperationSettings,
31        #[offset(152)]
32        #[rename(name = "debugName")]
33        pub debug_name: ::unity::Il2CppString,
34        #[static_field]
35        #[rename(name = "k_MaxDisplayedLocationLength")]
36        pub k_max_displayed_location_length: i32,
37        #[offset(168)]
38        #[rename(name = "m_CachedDependencyLocations")]
39        pub m_cached_dependency_locations: crate::system::collections::generic::hashset_1::HashSet_1<::unity::Il2CppString>,
40    }
41
42    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/unity_engine/resource_management/async_operations/groupoperation/GroupOperation_GroupOperationSettings.md"))]
43    #[repr(C)]
44    #[derive(::core::clone::Clone, ::core::marker::Copy, ::core::fmt::Debug, ::core::cmp::PartialEq, ::core::cmp::Eq)]
45    pub struct GroupOperation_GroupOperationSettings {
46        pub value: i32,
47    }
48    impl ::unity::ClassIdentity for GroupOperation_GroupOperationSettings {
49        const NAME: &'static str = "GroupOperation.GroupOperationSettings";
50        const NAMESPACE: &'static str = "UnityEngine.ResourceManagement.AsyncOperations";
51
52        fn class() -> ::unity::Class {
53            static CACHE: ::std::sync::OnceLock<::unity::Class> = ::std::sync::OnceLock::new();
54            *CACHE.get_or_init(|| ::unity::Class::lookup(Self::NAMESPACE, Self::NAME))
55        }
56    }
57    impl ::unity::IlType for GroupOperation_GroupOperationSettings {
58        fn il_type() -> &'static ::unity::il2cpp::Il2CppType {
59            &<Self as ::unity::ClassIdentity>::class().raw()._1.byval_arg
60        }
61    }
62    impl GroupOperation_GroupOperationSettings {
63        pub fn none() -> Self {
64            Self { value: 0 }
65        }
66
67        pub fn release_dependencies_on_failure() -> Self {
68            Self { value: 1 }
69        }
70
71        pub fn allow_failed_dependencies() -> Self {
72            Self { value: 2 }
73        }
74    }
75}
76
77#[cfg(feature = "unity_engine-resource_management-async_operations-groupoperation-types")]
78pub use __types::*;
79
80#[cfg(feature = "unity_engine-resource_management-async_operations-groupoperation")]
81#[doc(hidden)]
82#[allow(non_snake_case, non_camel_case_types, clippy::too_many_arguments)]
83mod __GroupOperation_unity_raw {
84    use super::*;
85    #[doc(hidden)]
86    #[allow(non_snake_case)]
87    pub mod __lookup_ctor {
88        use super::*;
89        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
90            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[];
91            ::unity::lookup::method_info_on_class_with_signature(<GroupOperation as ::unity::ClassIdentity>::class(), ".ctor", 0, param_types, false)
92        });
93        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
94            match &*METHOD {
95                ::core::result::Result::Ok(mi) => *mi,
96                ::core::result::Result::Err(e) => {
97                    panic!(
98                        "method lookup failed: {}
99::{}
100: {}
101",
102                        <GroupOperation as ::unity::ClassIdentity>::NAME,
103                        ".ctor",
104                        e
105                    )
106                },
107            }
108        }
109    }
110    #[doc(hidden)]
111    #[allow(non_snake_case)]
112    pub mod __lookup_get_dependent_ops {
113        use super::*;
114        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
115            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[];
116            ::unity::lookup::method_info_on_class_with_signature(
117                <GroupOperation as ::unity::ClassIdentity>::class(),
118                "GetDependentOps",
119                0,
120                param_types,
121                false,
122            )
123        });
124        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
125            match &*METHOD {
126                ::core::result::Result::Ok(mi) => *mi,
127                ::core::result::Result::Err(e) => {
128                    panic!(
129                        "method lookup failed: {}
130::{}
131: {}
132",
133                        <GroupOperation as ::unity::ClassIdentity>::NAME,
134                        "GetDependentOps",
135                        e
136                    )
137                },
138            }
139        }
140    }
141    #[doc(hidden)]
142    #[allow(non_snake_case)]
143    pub mod __lookup_dependencies_are_unchanged {
144        use super::*;
145        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
146            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[<crate::system::collections::generic::list_1::List_1<
147                crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle,
148            > as ::unity::IlType>::il_type()];
149            ::unity::lookup::method_info_on_class_with_signature(
150                <GroupOperation as ::unity::ClassIdentity>::class(),
151                "DependenciesAreUnchanged",
152                1,
153                param_types,
154                false,
155            )
156        });
157        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
158            match &*METHOD {
159                ::core::result::Result::Ok(mi) => *mi,
160                ::core::result::Result::Err(e) => {
161                    panic!(
162                        "method lookup failed: {}
163::{}
164: {}
165",
166                        <GroupOperation as ::unity::ClassIdentity>::NAME,
167                        "DependenciesAreUnchanged",
168                        e
169                    )
170                },
171            }
172        }
173    }
174    #[doc(hidden)]
175    #[allow(non_snake_case)]
176    pub mod __lookup_complete_if_dependencies_complete {
177        use super::*;
178        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
179            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[];
180            ::unity::lookup::method_info_on_class_with_signature(
181                <GroupOperation as ::unity::ClassIdentity>::class(),
182                "CompleteIfDependenciesComplete",
183                0,
184                param_types,
185                false,
186            )
187        });
188        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
189            match &*METHOD {
190                ::core::result::Result::Ok(mi) => *mi,
191                ::core::result::Result::Err(e) => {
192                    panic!(
193                        "method lookup failed: {}
194::{}
195: {}
196",
197                        <GroupOperation as ::unity::ClassIdentity>::NAME,
198                        "CompleteIfDependenciesComplete",
199                        e
200                    )
201                },
202            }
203        }
204    }
205    #[doc(hidden)]
206    #[allow(non_snake_case)]
207    pub mod __lookup_init {
208        use super::*;
209        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
210            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[
211                <crate::system::collections::generic::list_1::List_1<
212                    crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle,
213                > as ::unity::IlType>::il_type(),
214                <bool as ::unity::IlType>::il_type(),
215                <bool as ::unity::IlType>::il_type(),
216            ];
217            ::unity::lookup::method_info_on_class_with_signature(<GroupOperation as ::unity::ClassIdentity>::class(), "Init", 3, param_types, false)
218        });
219        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
220            match &*METHOD {
221                ::core::result::Result::Ok(mi) => *mi,
222                ::core::result::Result::Err(e) => {
223                    panic!(
224                        "method lookup failed: {}
225::{}
226: {}
227",
228                        <GroupOperation as ::unity::ClassIdentity>::NAME,
229                        "Init",
230                        e
231                    )
232                },
233            }
234        }
235    }
236    #[doc(hidden)]
237    #[allow(non_snake_case)]
238    pub mod __lookup_init_2 {
239        use super::*;
240        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
241            let param_types: &[& 'static::unity::il2cpp::Il2CppType]= &[<crate::system::collections::generic::list_1::List_1<crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle>as::unity::IlType> ::il_type(), <crate::unity_engine::resource_management::async_operations::groupoperation::GroupOperation_GroupOperationSettings as::unity::IlType> ::il_type()];
242            ::unity::lookup::method_info_on_class_with_signature(<GroupOperation as ::unity::ClassIdentity>::class(), "Init", 2, param_types, false)
243        });
244        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
245            match &*METHOD {
246                ::core::result::Result::Ok(mi) => *mi,
247                ::core::result::Result::Err(e) => {
248                    panic!(
249                        "method lookup failed: {}
250::{}
251: {}
252",
253                        <GroupOperation as ::unity::ClassIdentity>::NAME,
254                        "Init",
255                        e
256                    )
257                },
258            }
259        }
260    }
261    #[doc(hidden)]
262    #[allow(non_snake_case)]
263    pub mod __lookup_on_operation_completed {
264        use super::*;
265        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
266            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[
267                <crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle as ::unity::IlType>::il_type(
268                ),
269            ];
270            ::unity::lookup::method_info_on_class_with_signature(
271                <GroupOperation as ::unity::ClassIdentity>::class(),
272                "OnOperationCompleted",
273                1,
274                param_types,
275                false,
276            )
277        });
278        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
279            match &*METHOD {
280                ::core::result::Result::Ok(mi) => *mi,
281                ::core::result::Result::Err(e) => {
282                    panic!(
283                        "method lookup failed: {}
284::{}
285: {}
286",
287                        <GroupOperation as ::unity::ClassIdentity>::NAME,
288                        "OnOperationCompleted",
289                        e
290                    )
291                },
292            }
293        }
294    }
295}
296
297#[cfg(feature = "unity_engine-resource_management-async_operations-groupoperation")]
298pub trait IGroupOperationMethods: IGroupOperation {
299    #[doc = "`.ctor()` overload"]
300    fn ctor(self) -> () {
301        unsafe {
302            let __receiver = <GroupOperation as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
303            ::unity::il2cpp_call!(__GroupOperation_unity_raw::__lookup_ctor::get_method_info().method_ptr,();
304(GroupOperation)__receiver)
305        }
306    }
307    #[doc = "`InvokeWaitForCompletion()` overload"]
308    fn invoke_wait_for_completion(self) -> bool {
309        unsafe {
310            let __receiver = <GroupOperation as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
311            {
312                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
313                let __vi = *__vt.get(33usize).unwrap_or_else(|| {
314                    panic!(
315                        "unity: virtual slot {}
316 out of range (vtable len {}
317) on the runtime class behind {}
318 (method `{}
319`)",
320                        33usize,
321                        __vt.len(),
322                        <GroupOperation as ::unity::ClassIdentity>::NAME,
323                        "InvokeWaitForCompletion",
324                    )
325                });
326                let __inner: extern "C" fn(GroupOperation, ::unity::OptionalMethod) -> bool = ::core::mem::transmute(__vi.method_ptr);
327                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
328                __inner(__receiver, __mi)
329            }
330        }
331    }
332    #[doc = "`UnityEngine.ResourceManagement.AsyncOperations.ICachable.get_Key()` overload"]
333    fn unity_engine_resource_management_async_operations_i_cachable_get_key(
334        self,
335    ) -> crate::unity_engine::resource_management::util::ioperationcachekey::IOperationCacheKey {
336        unsafe {
337            let __receiver = <GroupOperation as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
338            {
339                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
340                let __vi = *__vt.get(36usize).unwrap_or_else(|| {
341                    panic!(
342                        "unity: virtual slot {}
343 out of range (vtable len {}
344) on the runtime class behind {}
345 (method `{}
346`)",
347                        36usize,
348                        __vt.len(),
349                        <GroupOperation as ::unity::ClassIdentity>::NAME,
350                        "UnityEngine.ResourceManagement.AsyncOperations.ICachable.get_Key",
351                    )
352                });
353                let __inner: extern "C" fn(
354                    GroupOperation,
355                    ::unity::OptionalMethod,
356                )
357                    -> crate::unity_engine::resource_management::util::ioperationcachekey::IOperationCacheKey =
358                    ::core::mem::transmute(__vi.method_ptr);
359                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
360                __inner(__receiver, __mi)
361            }
362        }
363    }
364    #[doc = "`UnityEngine.ResourceManagement.AsyncOperations.ICachable.set_Key(crate::unity_engine::resource_management::util::ioperationcachekey::IOperationCacheKey)` overload"]
365    fn unity_engine_resource_management_async_operations_i_cachable_set_key(
366        self,
367        value: impl ::core::convert::Into<crate::unity_engine::resource_management::util::ioperationcachekey::IOperationCacheKey>,
368    ) -> () {
369        unsafe {
370            let __receiver = <GroupOperation as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
371            {
372                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
373                let __vi = *__vt.get(37usize).unwrap_or_else(|| {
374                    panic!(
375                        "unity: virtual slot {}
376 out of range (vtable len {}
377) on the runtime class behind {}
378 (method `{}
379`)",
380                        37usize,
381                        __vt.len(),
382                        <GroupOperation as ::unity::ClassIdentity>::NAME,
383                        "UnityEngine.ResourceManagement.AsyncOperations.ICachable.set_Key",
384                    )
385                });
386                let __inner: extern "C" fn(
387                    GroupOperation,
388                    crate::unity_engine::resource_management::util::ioperationcachekey::IOperationCacheKey,
389                    ::unity::OptionalMethod,
390                ) -> () = ::core::mem::transmute(__vi.method_ptr);
391                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
392                __inner(__receiver, ::core::convert::Into::into(value), __mi)
393            }
394        }
395    }
396    #[doc = "`GetDependentOps()` overload"]
397    fn get_dependent_ops(
398        self,
399    ) -> crate::system::collections::generic::ilist_1_interface::IList_1_Interface<
400        crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle,
401    > {
402        unsafe {
403            let __receiver = <GroupOperation as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
404            ::unity::il2cpp_call!(__GroupOperation_unity_raw::__lookup_get_dependent_ops::get_method_info().method_ptr,crate::system::collections::generic::ilist_1_interface::IList_1_Interface<crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle> ;
405(GroupOperation)__receiver)
406        }
407    }
408    #[doc = "`GetDependencies(crate::system::collections::generic::list_1::List_1<crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle>)` overload"]
409    fn get_dependencies(
410        self,
411        deps: impl ::core::convert::Into<
412            crate::system::collections::generic::list_1::List_1<
413                crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle,
414            >,
415        >,
416    ) -> () {
417        unsafe {
418            let __receiver = <GroupOperation as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
419            {
420                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
421                let __vi = *__vt.get(32usize).unwrap_or_else(|| {
422                    panic!(
423                        "unity: virtual slot {}
424 out of range (vtable len {}
425) on the runtime class behind {}
426 (method `{}
427`)",
428                        32usize,
429                        __vt.len(),
430                        <GroupOperation as ::unity::ClassIdentity>::NAME,
431                        "GetDependencies",
432                    )
433                });
434                let __inner: extern "C" fn(
435                    GroupOperation,
436                    crate::system::collections::generic::list_1::List_1<
437                        crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle,
438                    >,
439                    ::unity::OptionalMethod,
440                ) -> () = ::core::mem::transmute(__vi.method_ptr);
441                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
442                __inner(__receiver, ::core::convert::Into::into(deps), __mi)
443            }
444        }
445    }
446    #[doc = "`ReleaseDependencies()` overload"]
447    fn release_dependencies(self) -> () {
448        unsafe {
449            let __receiver = <GroupOperation as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
450            {
451                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
452                let __vi = *__vt.get(34usize).unwrap_or_else(|| {
453                    panic!(
454                        "unity: virtual slot {}
455 out of range (vtable len {}
456) on the runtime class behind {}
457 (method `{}
458`)",
459                        34usize,
460                        __vt.len(),
461                        <GroupOperation as ::unity::ClassIdentity>::NAME,
462                        "ReleaseDependencies",
463                    )
464                });
465                let __inner: extern "C" fn(GroupOperation, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
466                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
467                __inner(__receiver, __mi)
468            }
469        }
470    }
471    #[doc = "`GetDownloadStatus(crate::system::collections::generic::hashset_1::HashSet_1<crate::system::object::Object>)` overload"]
472    fn get_download_status(
473        self,
474        visited: impl ::core::convert::Into<crate::system::collections::generic::hashset_1::HashSet_1<crate::system::object::Object>>,
475    ) -> crate::unity_engine::resource_management::async_operations::downloadstatus::DownloadStatus {
476        unsafe {
477            let __receiver = <GroupOperation as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
478            {
479                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
480                let __vi = *__vt.get(35usize).unwrap_or_else(|| {
481                    panic!(
482                        "unity: virtual slot {}
483 out of range (vtable len {}
484) on the runtime class behind {}
485 (method `{}
486`)",
487                        35usize,
488                        __vt.len(),
489                        <GroupOperation as ::unity::ClassIdentity>::NAME,
490                        "GetDownloadStatus",
491                    )
492                });
493                let __inner: extern "C" fn(
494                    GroupOperation,
495                    crate::system::collections::generic::hashset_1::HashSet_1<crate::system::object::Object>,
496                    ::unity::OptionalMethod,
497                )
498                    -> crate::unity_engine::resource_management::async_operations::downloadstatus::DownloadStatus =
499                    ::core::mem::transmute(__vi.method_ptr);
500                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
501                __inner(__receiver, ::core::convert::Into::into(visited), __mi)
502            }
503        }
504    }
505    #[doc = "`DependenciesAreUnchanged(crate::system::collections::generic::list_1::List_1<crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle>)` overload"]
506    fn dependencies_are_unchanged(
507        self,
508        deps: impl ::core::convert::Into<
509            crate::system::collections::generic::list_1::List_1<
510                crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle,
511            >,
512        >,
513    ) -> bool {
514        unsafe {
515            let __receiver = <GroupOperation as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
516            ::unity::il2cpp_call!(__GroupOperation_unity_raw::__lookup_dependencies_are_unchanged::get_method_info().method_ptr,bool;
517(GroupOperation)__receiver,(crate::system::collections::generic::list_1::List_1<crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle>)::core::convert::Into::into(deps))
518        }
519    }
520    #[doc = "`get_DebugName()` overload"]
521    fn get_debug_name(self) -> ::unity::Il2CppString {
522        unsafe {
523            let __receiver = <GroupOperation 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(31usize).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                        31usize,
534                        __vt.len(),
535                        <GroupOperation as ::unity::ClassIdentity>::NAME,
536                        "get_DebugName",
537                    )
538                });
539                let __inner: extern "C" fn(GroupOperation, ::unity::OptionalMethod) -> ::unity::Il2CppString =
540                    ::core::mem::transmute(__vi.method_ptr);
541                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
542                __inner(__receiver, __mi)
543            }
544        }
545    }
546    #[doc = "`Execute()` overload"]
547    fn execute(self) -> () {
548        unsafe {
549            let __receiver = <GroupOperation as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
550            {
551                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
552                let __vi = *__vt.get(28usize).unwrap_or_else(|| {
553                    panic!(
554                        "unity: virtual slot {}
555 out of range (vtable len {}
556) on the runtime class behind {}
557 (method `{}
558`)",
559                        28usize,
560                        __vt.len(),
561                        <GroupOperation as ::unity::ClassIdentity>::NAME,
562                        "Execute",
563                    )
564                });
565                let __inner: extern "C" fn(GroupOperation, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
566                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
567                __inner(__receiver, __mi)
568            }
569        }
570    }
571    #[doc = "`CompleteIfDependenciesComplete()` overload"]
572    fn complete_if_dependencies_complete(self) -> () {
573        unsafe {
574            let __receiver = <GroupOperation as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
575            ::unity::il2cpp_call!(__GroupOperation_unity_raw::__lookup_complete_if_dependencies_complete::get_method_info().method_ptr,();
576(GroupOperation)__receiver)
577        }
578    }
579    #[doc = "`Destroy()` overload"]
580    fn destroy(self) -> () {
581        unsafe {
582            let __receiver = <GroupOperation as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
583            {
584                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
585                let __vi = *__vt.get(29usize).unwrap_or_else(|| {
586                    panic!(
587                        "unity: virtual slot {}
588 out of range (vtable len {}
589) on the runtime class behind {}
590 (method `{}
591`)",
592                        29usize,
593                        __vt.len(),
594                        <GroupOperation as ::unity::ClassIdentity>::NAME,
595                        "Destroy",
596                    )
597                });
598                let __inner: extern "C" fn(GroupOperation, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
599                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
600                __inner(__receiver, __mi)
601            }
602        }
603    }
604    #[doc = "`get_Progress()` overload"]
605    fn get_progress(self) -> f32 {
606        unsafe {
607            let __receiver = <GroupOperation as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
608            {
609                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
610                let __vi = *__vt.get(30usize).unwrap_or_else(|| {
611                    panic!(
612                        "unity: virtual slot {}
613 out of range (vtable len {}
614) on the runtime class behind {}
615 (method `{}
616`)",
617                        30usize,
618                        __vt.len(),
619                        <GroupOperation as ::unity::ClassIdentity>::NAME,
620                        "get_Progress",
621                    )
622                });
623                let __inner: extern "C" fn(GroupOperation, ::unity::OptionalMethod) -> f32 = ::core::mem::transmute(__vi.method_ptr);
624                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
625                __inner(__receiver, __mi)
626            }
627        }
628    }
629    #[doc = "`Init(crate::system::collections::generic::list_1::List_1<crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle>, bool, bool)` overload"]
630    fn init(
631        self,
632        operations: impl ::core::convert::Into<
633            crate::system::collections::generic::list_1::List_1<
634                crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle,
635            >,
636        >,
637        release_dependencies_on_failure: impl ::core::convert::Into<bool>,
638        allow_failed_dependencies: impl ::core::convert::Into<bool>,
639    ) -> () {
640        unsafe {
641            let __receiver = <GroupOperation as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
642            ::unity::il2cpp_call!(__GroupOperation_unity_raw::__lookup_init::get_method_info().method_ptr,();
643(GroupOperation)__receiver,(crate::system::collections::generic::list_1::List_1<crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle>)::core::convert::Into::into(operations),(bool)::core::convert::Into::into(release_dependencies_on_failure),(bool)::core::convert::Into::into(allow_failed_dependencies))
644        }
645    }
646    #[doc = "`Init(crate::system::collections::generic::list_1::List_1<crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle>, crate::unity_engine::resource_management::async_operations::groupoperation::GroupOperation_GroupOperationSettings)` overload"]
647    fn init_2(
648        self,
649        operations: impl ::core::convert::Into<
650            crate::system::collections::generic::list_1::List_1<
651                crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle,
652            >,
653        >,
654        settings: impl ::core::convert::Into<
655            crate::unity_engine::resource_management::async_operations::groupoperation::GroupOperation_GroupOperationSettings,
656        >,
657    ) -> () {
658        unsafe {
659            let __receiver = <GroupOperation as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
660            ::unity::il2cpp_call!(__GroupOperation_unity_raw::__lookup_init_2::get_method_info().method_ptr,();
661(GroupOperation)__receiver,(crate::system::collections::generic::list_1::List_1<crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle>)::core::convert::Into::into(operations),(crate::unity_engine::resource_management::async_operations::groupoperation::GroupOperation_GroupOperationSettings)::core::convert::Into::into(settings))
662        }
663    }
664    #[doc = "`OnOperationCompleted(crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle)` overload"]
665    fn on_operation_completed(
666        self,
667        op: impl ::core::convert::Into<crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle>,
668    ) -> () {
669        unsafe {
670            let __receiver = <GroupOperation as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
671            ::unity::il2cpp_call!(__GroupOperation_unity_raw::__lookup_on_operation_completed::get_method_info().method_ptr,();
672(GroupOperation)__receiver,(crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle)::core::convert::Into::into(op))
673        }
674    }
675}
676
677#[cfg(feature = "unity_engine-resource_management-async_operations-groupoperation")]
678impl<__T: IGroupOperation> IGroupOperationMethods for __T {}
679
680#[cfg(feature = "unity_engine-resource_management-async_operations-groupoperation")]
681impl GroupOperation {
682    pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
683        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
684    }
685
686    pub fn invoke_wait_for_completion_method_info() -> &'static ::unity::il2cpp::MethodInfo {
687        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
688    }
689
690    pub fn unity_engine_resource_management_async_operations_i_cachable_get_key_method_info() -> &'static ::unity::il2cpp::MethodInfo {
691        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
692    }
693
694    pub fn unity_engine_resource_management_async_operations_i_cachable_set_key_method_info() -> &'static ::unity::il2cpp::MethodInfo {
695        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[3]
696    }
697
698    pub fn get_dependent_ops_method_info() -> &'static ::unity::il2cpp::MethodInfo {
699        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[4]
700    }
701
702    pub fn get_dependencies_method_info() -> &'static ::unity::il2cpp::MethodInfo {
703        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[5]
704    }
705
706    pub fn release_dependencies_method_info() -> &'static ::unity::il2cpp::MethodInfo {
707        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[6]
708    }
709
710    pub fn get_download_status_method_info() -> &'static ::unity::il2cpp::MethodInfo {
711        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[7]
712    }
713
714    pub fn dependencies_are_unchanged_method_info() -> &'static ::unity::il2cpp::MethodInfo {
715        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[8]
716    }
717
718    pub fn get_debug_name_method_info() -> &'static ::unity::il2cpp::MethodInfo {
719        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[9]
720    }
721
722    pub fn execute_method_info() -> &'static ::unity::il2cpp::MethodInfo {
723        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[10]
724    }
725
726    pub fn complete_if_dependencies_complete_method_info() -> &'static ::unity::il2cpp::MethodInfo {
727        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[11]
728    }
729
730    pub fn destroy_method_info() -> &'static ::unity::il2cpp::MethodInfo {
731        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[12]
732    }
733
734    pub fn get_progress_method_info() -> &'static ::unity::il2cpp::MethodInfo {
735        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[13]
736    }
737
738    pub fn init_method_info() -> &'static ::unity::il2cpp::MethodInfo {
739        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[14]
740    }
741
742    pub fn init_2_method_info() -> &'static ::unity::il2cpp::MethodInfo {
743        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[15]
744    }
745
746    pub fn on_operation_completed_method_info() -> &'static ::unity::il2cpp::MethodInfo {
747        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[16]
748    }
749}
750
751#[cfg(feature = "unity_engine-resource_management-async_operations-groupoperation")]
752impl GroupOperation {
753    #[doc = "Direct (non-virtual) call to `GroupOperation`'s own `InvokeWaitForCompletion`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
754    pub unsafe fn invoke_wait_for_completion(this: impl ::core::convert::Into<::unity::IlInstance>) -> bool {
755        let __mi = Self::invoke_wait_for_completion_method_info();
756        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> bool = ::core::mem::transmute(__mi.method_ptr);
757        __inner(this.into(), ::core::option::Option::None)
758    }
759
760    #[doc = "Direct (non-virtual) call to `GroupOperation`'s own `UnityEngine.ResourceManagement.AsyncOperations.ICachable.get_Key`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
761    pub unsafe fn unity_engine_resource_management_async_operations_i_cachable_get_key(
762        this: impl ::core::convert::Into<::unity::IlInstance>,
763    ) -> crate::unity_engine::resource_management::util::ioperationcachekey::IOperationCacheKey {
764        let __mi = Self::unity_engine_resource_management_async_operations_i_cachable_get_key_method_info();
765        let __inner: extern "C" fn(
766            ::unity::IlInstance,
767            ::unity::OptionalMethod,
768        ) -> crate::unity_engine::resource_management::util::ioperationcachekey::IOperationCacheKey = ::core::mem::transmute(__mi.method_ptr);
769        __inner(this.into(), ::core::option::Option::None)
770    }
771
772    #[doc = "Direct (non-virtual) call to `GroupOperation`'s own `UnityEngine.ResourceManagement.AsyncOperations.ICachable.set_Key`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
773    pub unsafe fn unity_engine_resource_management_async_operations_i_cachable_set_key(
774        this: impl ::core::convert::Into<::unity::IlInstance>,
775        value: crate::unity_engine::resource_management::util::ioperationcachekey::IOperationCacheKey,
776    ) -> () {
777        let __mi = Self::unity_engine_resource_management_async_operations_i_cachable_set_key_method_info();
778        let __inner: extern "C" fn(
779            ::unity::IlInstance,
780            crate::unity_engine::resource_management::util::ioperationcachekey::IOperationCacheKey,
781            ::unity::OptionalMethod,
782        ) -> () = ::core::mem::transmute(__mi.method_ptr);
783        __inner(this.into(), value, ::core::option::Option::None)
784    }
785
786    #[doc = "Direct (non-virtual) call to `GroupOperation`'s own `GetDependencies`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
787    pub unsafe fn get_dependencies(
788        this: impl ::core::convert::Into<::unity::IlInstance>,
789        deps: crate::system::collections::generic::list_1::List_1<
790            crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle,
791        >,
792    ) -> () {
793        let __mi = Self::get_dependencies_method_info();
794        let __inner: extern "C" fn(
795            ::unity::IlInstance,
796            crate::system::collections::generic::list_1::List_1<
797                crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle,
798            >,
799            ::unity::OptionalMethod,
800        ) -> () = ::core::mem::transmute(__mi.method_ptr);
801        __inner(this.into(), deps, ::core::option::Option::None)
802    }
803
804    #[doc = "Direct (non-virtual) call to `GroupOperation`'s own `ReleaseDependencies`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
805    pub unsafe fn release_dependencies(this: impl ::core::convert::Into<::unity::IlInstance>) -> () {
806        let __mi = Self::release_dependencies_method_info();
807        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
808        __inner(this.into(), ::core::option::Option::None)
809    }
810
811    #[doc = "Direct (non-virtual) call to `GroupOperation`'s own `GetDownloadStatus`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
812    pub unsafe fn get_download_status(
813        this: impl ::core::convert::Into<::unity::IlInstance>,
814        visited: crate::system::collections::generic::hashset_1::HashSet_1<crate::system::object::Object>,
815    ) -> crate::unity_engine::resource_management::async_operations::downloadstatus::DownloadStatus {
816        let __mi = Self::get_download_status_method_info();
817        let __inner: extern "C" fn(
818            ::unity::IlInstance,
819            crate::system::collections::generic::hashset_1::HashSet_1<crate::system::object::Object>,
820            ::unity::OptionalMethod,
821        ) -> crate::unity_engine::resource_management::async_operations::downloadstatus::DownloadStatus = ::core::mem::transmute(__mi.method_ptr);
822        __inner(this.into(), visited, ::core::option::Option::None)
823    }
824
825    #[doc = "Direct (non-virtual) call to `GroupOperation`'s own `get_DebugName`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
826    pub unsafe fn get_debug_name(this: impl ::core::convert::Into<::unity::IlInstance>) -> ::unity::Il2CppString {
827        let __mi = Self::get_debug_name_method_info();
828        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> ::unity::Il2CppString = ::core::mem::transmute(__mi.method_ptr);
829        __inner(this.into(), ::core::option::Option::None)
830    }
831
832    #[doc = "Direct (non-virtual) call to `GroupOperation`'s own `Execute`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
833    pub unsafe fn execute(this: impl ::core::convert::Into<::unity::IlInstance>) -> () {
834        let __mi = Self::execute_method_info();
835        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
836        __inner(this.into(), ::core::option::Option::None)
837    }
838
839    #[doc = "Direct (non-virtual) call to `GroupOperation`'s own `Destroy`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
840    pub unsafe fn destroy(this: impl ::core::convert::Into<::unity::IlInstance>) -> () {
841        let __mi = Self::destroy_method_info();
842        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
843        __inner(this.into(), ::core::option::Option::None)
844    }
845
846    #[doc = "Direct (non-virtual) call to `GroupOperation`'s own `get_Progress`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
847    pub unsafe fn get_progress(this: impl ::core::convert::Into<::unity::IlInstance>) -> f32 {
848        let __mi = Self::get_progress_method_info();
849        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> f32 = ::core::mem::transmute(__mi.method_ptr);
850        __inner(this.into(), ::core::option::Option::None)
851    }
852}
853
854#[cfg(feature = "unity_engine-resource_management-async_operations-groupoperation")]
855impl GroupOperation {
856    #[doc = "`.ctor()` — no args"]
857    pub fn new() -> Self {
858        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
859            panic!(
860                "{}
861::{}
862 failed to instantiate",
863                ::core::stringify!(GroupOperation),
864                ::core::stringify!(new),
865            )
866        });
867        <Self as IGroupOperationMethods>::ctor(this);
868        this
869    }
870}
871
872#[cfg(feature = "unity_engine-resource_management-async_operations-groupoperation")]
873#[doc(hidden)]
874pub mod prelude {
875    pub use super::{GroupOperation, GroupOperation_GroupOperationSettings, IGroupOperation, IGroupOperationMethods};
876    #[cfg(feature = "system-object")]
877    pub use crate::system::object::IObjectMethods;
878    #[cfg(feature = "system-enum")]
879    pub use crate::system::r#enum::IEnumMethods;
880    #[cfg(feature = "system-valuetype")]
881    pub use crate::system::valuetype::IValueTypeMethods;
882    #[cfg(feature = "unity_engine-resource_management-async_operations-asyncoperationbase_1")]
883    pub use crate::unity_engine::resource_management::async_operations::asyncoperationbase_1::IAsyncOperationBase_1Methods;
884    pub use crate::{
885        system::{object::IObject, r#enum::IEnum, valuetype::IValueType},
886        unity_engine::resource_management::async_operations::asyncoperationbase_1::IAsyncOperationBase_1,
887    };
888}