Skip to main content

engage/generated/unity_engine/resource_management/resource_providers/
assetbundleresource.rs

1// @generated by il2cpp-bindgen — do not edit by hand.
2
3#[cfg(feature = "unity_engine-resource_management-resource_providers-assetbundleresource-types")]
4mod __types {
5    #[allow(unused_imports)] use ::unity::prelude::*;
6
7    use super::*;
8    use crate::system::{
9        object::{IObject, Object},
10        r#enum::{Enum, IEnum},
11        valuetype::{IValueType, ValueType},
12    };
13
14    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/unity_engine/resource_management/resource_providers/assetbundleresource/AssetBundleResource_LoadType.md"))]
15    #[repr(C)]
16    #[derive(::core::clone::Clone, ::core::marker::Copy, ::core::fmt::Debug, ::core::cmp::PartialEq, ::core::cmp::Eq)]
17    pub struct AssetBundleResource_LoadType {
18        pub value: i32,
19    }
20    impl ::unity::ClassIdentity for AssetBundleResource_LoadType {
21        const NAME: &'static str = "AssetBundleResource.LoadType";
22        const NAMESPACE: &'static str = "UnityEngine.ResourceManagement.ResourceProviders";
23
24        fn class() -> ::unity::Class {
25            static CACHE: ::std::sync::OnceLock<::unity::Class> = ::std::sync::OnceLock::new();
26            *CACHE.get_or_init(|| ::unity::Class::lookup(Self::NAMESPACE, Self::NAME))
27        }
28    }
29    impl ::unity::IlType for AssetBundleResource_LoadType {
30        fn il_type() -> &'static ::unity::il2cpp::Il2CppType {
31            &<Self as ::unity::ClassIdentity>::class().raw()._1.byval_arg
32        }
33    }
34    impl AssetBundleResource_LoadType {
35        pub fn none() -> Self {
36            Self { value: 0 }
37        }
38
39        pub fn local() -> Self {
40            Self { value: 1 }
41        }
42
43        pub fn web() -> Self {
44            Self { value: 2 }
45        }
46    }
47
48    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/unity_engine/resource_management/resource_providers/assetbundleresource/AssetBundleResource.md"))]
49    #[::unity::class(namespace = "UnityEngine.ResourceManagement.ResourceProviders", name = "AssetBundleResource")]
50    #[parent(crate::system::object::Object)]
51    pub struct AssetBundleResource {
52        #[offset(16)]
53        #[rename(name = "m_AssetBundle")]
54        pub m_asset_bundle: crate::unity_engine::assetbundle::AssetBundle,
55        #[offset(24)]
56        #[rename(name = "m_downloadHandler")]
57        pub m_download_handler: crate::unity_engine::networking::downloadhandlerassetbundle::DownloadHandlerAssetBundle,
58        #[offset(32)]
59        #[rename(name = "m_RequestOperation")]
60        pub m_request_operation: crate::unity_engine::asyncoperation::AsyncOperation,
61        #[offset(40)]
62        #[rename(name = "m_WebRequestQueueOperation")]
63        pub m_web_request_queue_operation: crate::unity_engine::resource_management::webrequestqueueoperation::WebRequestQueueOperation,
64        #[offset(48)]
65        #[rename(name = "m_ProvideHandle")]
66        pub m_provide_handle: crate::unity_engine::resource_management::resource_providers::providehandle::ProvideHandle,
67        #[offset(72)]
68        #[rename(name = "m_Options")]
69        pub m_options: crate::unity_engine::resource_management::resource_providers::assetbundlerequestoptions::AssetBundleRequestOptions,
70        #[offset(80)]
71        #[rename(name = "m_WebRequestCompletedCallbackCalled")]
72        pub m_web_request_completed_callback_called: bool,
73        #[offset(84)]
74        #[rename(name = "m_Retries")]
75        pub m_retries: i32,
76        #[offset(88)]
77        #[rename(name = "m_BytesToDownload")]
78        pub m_bytes_to_download: i64,
79        #[offset(96)]
80        #[rename(name = "m_DownloadedBytes")]
81        pub m_downloaded_bytes: i64,
82        #[offset(104)]
83        #[rename(name = "m_Completed")]
84        pub m_completed: bool,
85        #[static_field]
86        #[rename(name = "k_WaitForWebRequestMainThreadSleep")]
87        pub k_wait_for_web_request_main_thread_sleep: i32,
88        #[offset(112)]
89        #[rename(name = "m_TransformedInternalId")]
90        pub m_transformed_internal_id: ::unity::Il2CppString,
91    }
92}
93
94#[cfg(feature = "unity_engine-resource_management-resource_providers-assetbundleresource-types")]
95pub use __types::*;
96
97#[cfg(feature = "unity_engine-resource_management-resource_providers-assetbundleresource")]
98#[doc(hidden)]
99#[allow(non_snake_case, non_camel_case_types, clippy::too_many_arguments)]
100mod __AssetBundleResource_unity_raw {
101    use super::*;
102    #[doc(hidden)]
103    #[allow(non_snake_case)]
104    pub mod __lookup_create_web_request {
105        use super::*;
106        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
107            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[
108                <crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation as ::unity::IlType>::il_type(),
109            ];
110            ::unity::lookup::method_info_on_class_with_signature(
111                <AssetBundleResource as ::unity::ClassIdentity>::class(),
112                "CreateWebRequest",
113                1,
114                param_types,
115                false,
116            )
117        });
118        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
119            match &*METHOD {
120                ::core::result::Result::Ok(mi) => *mi,
121                ::core::result::Result::Err(e) => {
122                    panic!(
123                        "method lookup failed: {}
124::{}
125: {}
126",
127                        <AssetBundleResource as ::unity::ClassIdentity>::NAME,
128                        "CreateWebRequest",
129                        e
130                    )
131                },
132            }
133        }
134    }
135    #[doc(hidden)]
136    #[allow(non_snake_case)]
137    pub mod __lookup_create_web_request_2 {
138        use super::*;
139        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
140            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[<::unity::Il2CppString as ::unity::IlType>::il_type()];
141            ::unity::lookup::method_info_on_class_with_signature(
142                <AssetBundleResource as ::unity::ClassIdentity>::class(),
143                "CreateWebRequest",
144                1,
145                param_types,
146                false,
147            )
148        });
149        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
150            match &*METHOD {
151                ::core::result::Result::Ok(mi) => *mi,
152                ::core::result::Result::Err(e) => {
153                    panic!(
154                        "method lookup failed: {}
155::{}
156: {}
157",
158                        <AssetBundleResource as ::unity::ClassIdentity>::NAME,
159                        "CreateWebRequest",
160                        e
161                    )
162                },
163            }
164        }
165    }
166    #[doc(hidden)]
167    #[allow(non_snake_case)]
168    pub mod __lookup_percent_complete {
169        use super::*;
170        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
171            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[];
172            ::unity::lookup::method_info_on_class_with_signature(
173                <AssetBundleResource as ::unity::ClassIdentity>::class(),
174                "PercentComplete",
175                0,
176                param_types,
177                false,
178            )
179        });
180        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
181            match &*METHOD {
182                ::core::result::Result::Ok(mi) => *mi,
183                ::core::result::Result::Err(e) => {
184                    panic!(
185                        "method lookup failed: {}
186::{}
187: {}
188",
189                        <AssetBundleResource as ::unity::ClassIdentity>::NAME,
190                        "PercentComplete",
191                        e
192                    )
193                },
194            }
195        }
196    }
197    #[doc(hidden)]
198    #[allow(non_snake_case)]
199    pub mod __lookup_get_download_status {
200        use super::*;
201        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
202            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[];
203            ::unity::lookup::method_info_on_class_with_signature(
204                <AssetBundleResource as ::unity::ClassIdentity>::class(),
205                "GetDownloadStatus",
206                0,
207                param_types,
208                false,
209            )
210        });
211        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
212            match &*METHOD {
213                ::core::result::Result::Ok(mi) => *mi,
214                ::core::result::Result::Err(e) => {
215                    panic!(
216                        "method lookup failed: {}
217::{}
218: {}
219",
220                        <AssetBundleResource as ::unity::ClassIdentity>::NAME,
221                        "GetDownloadStatus",
222                        e
223                    )
224                },
225            }
226        }
227    }
228    #[doc(hidden)]
229    #[allow(non_snake_case)]
230    pub mod __lookup_start {
231        use super::*;
232        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
233            let param_types: &[&'static ::unity::il2cpp::Il2CppType] =
234                &[<crate::unity_engine::resource_management::resource_providers::providehandle::ProvideHandle as ::unity::IlType>::il_type()];
235            ::unity::lookup::method_info_on_class_with_signature(
236                <AssetBundleResource as ::unity::ClassIdentity>::class(),
237                "Start",
238                1,
239                param_types,
240                false,
241            )
242        });
243        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
244            match &*METHOD {
245                ::core::result::Result::Ok(mi) => *mi,
246                ::core::result::Result::Err(e) => {
247                    panic!(
248                        "method lookup failed: {}
249::{}
250: {}
251",
252                        <AssetBundleResource as ::unity::ClassIdentity>::NAME,
253                        "Start",
254                        e
255                    )
256                },
257            }
258        }
259    }
260    #[doc(hidden)]
261    #[allow(non_snake_case)]
262    pub mod __lookup_wait_for_completion_handler {
263        use super::*;
264        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
265            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[];
266            ::unity::lookup::method_info_on_class_with_signature(
267                <AssetBundleResource as ::unity::ClassIdentity>::class(),
268                "WaitForCompletionHandler",
269                0,
270                param_types,
271                false,
272            )
273        });
274        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
275            match &*METHOD {
276                ::core::result::Result::Ok(mi) => *mi,
277                ::core::result::Result::Err(e) => {
278                    panic!(
279                        "method lookup failed: {}
280::{}
281: {}
282",
283                        <AssetBundleResource as ::unity::ClassIdentity>::NAME,
284                        "WaitForCompletionHandler",
285                        e
286                    )
287                },
288            }
289        }
290    }
291    #[doc(hidden)]
292    #[allow(non_snake_case)]
293    pub mod __lookup_add_callback_invoke_if_done {
294        use super::*;
295        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
296            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[
297                <crate::unity_engine::asyncoperation::AsyncOperation as ::unity::IlType>::il_type(),
298                <crate::system::action_1::Action_1<crate::unity_engine::asyncoperation::AsyncOperation> as ::unity::IlType>::il_type(),
299            ];
300            ::unity::lookup::method_info_on_class_with_signature(
301                <AssetBundleResource as ::unity::ClassIdentity>::class(),
302                "AddCallbackInvokeIfDone",
303                2,
304                param_types,
305                false,
306            )
307        });
308        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
309            match &*METHOD {
310                ::core::result::Result::Ok(mi) => *mi,
311                ::core::result::Result::Err(e) => {
312                    panic!(
313                        "method lookup failed: {}
314::{}
315: {}
316",
317                        <AssetBundleResource as ::unity::ClassIdentity>::NAME,
318                        "AddCallbackInvokeIfDone",
319                        e
320                    )
321                },
322            }
323        }
324    }
325    #[doc(hidden)]
326    #[allow(non_snake_case)]
327    pub mod __lookup_get_load_info {
328        use super::*;
329        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
330            let param_types: &[& 'static::unity::il2cpp::Il2CppType]= &[<crate::unity_engine::resource_management::resource_providers::providehandle::ProvideHandle as::unity::IlType> ::il_type(), <crate::unity_engine::resource_management::resource_providers::assetbundleresource::AssetBundleResource_LoadType as::unity::IlType> ::il_type(), < ::unity::Il2CppString as::unity::IlType> ::il_type()];
331            ::unity::lookup::method_info_on_class_with_signature(
332                <AssetBundleResource as ::unity::ClassIdentity>::class(),
333                "GetLoadInfo",
334                3,
335                param_types,
336                true,
337            )
338        });
339        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
340            match &*METHOD {
341                ::core::result::Result::Ok(mi) => *mi,
342                ::core::result::Result::Err(e) => {
343                    panic!(
344                        "method lookup failed: {}
345::{}
346: {}
347",
348                        <AssetBundleResource as ::unity::ClassIdentity>::NAME,
349                        "GetLoadInfo",
350                        e
351                    )
352                },
353            }
354        }
355    }
356    #[doc(hidden)]
357    #[allow(non_snake_case)]
358    pub mod __lookup_begin_operation {
359        use super::*;
360        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
361            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[];
362            ::unity::lookup::method_info_on_class_with_signature(
363                <AssetBundleResource as ::unity::ClassIdentity>::class(),
364                "BeginOperation",
365                0,
366                param_types,
367                false,
368            )
369        });
370        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
371            match &*METHOD {
372                ::core::result::Result::Ok(mi) => *mi,
373                ::core::result::Result::Err(e) => {
374                    panic!(
375                        "method lookup failed: {}
376::{}
377: {}
378",
379                        <AssetBundleResource as ::unity::ClassIdentity>::NAME,
380                        "BeginOperation",
381                        e
382                    )
383                },
384            }
385        }
386    }
387    #[doc(hidden)]
388    #[allow(non_snake_case)]
389    pub mod __lookup_local_request_operation_completed {
390        use super::*;
391        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
392            let param_types: &[&'static ::unity::il2cpp::Il2CppType] =
393                &[<crate::unity_engine::asyncoperation::AsyncOperation as ::unity::IlType>::il_type()];
394            ::unity::lookup::method_info_on_class_with_signature(
395                <AssetBundleResource as ::unity::ClassIdentity>::class(),
396                "LocalRequestOperationCompleted",
397                1,
398                param_types,
399                false,
400            )
401        });
402        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
403            match &*METHOD {
404                ::core::result::Result::Ok(mi) => *mi,
405                ::core::result::Result::Err(e) => {
406                    panic!(
407                        "method lookup failed: {}
408::{}
409: {}
410",
411                        <AssetBundleResource as ::unity::ClassIdentity>::NAME,
412                        "LocalRequestOperationCompleted",
413                        e
414                    )
415                },
416            }
417        }
418    }
419    #[doc(hidden)]
420    #[allow(non_snake_case)]
421    pub mod __lookup_complete_bundle_load {
422        use super::*;
423        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
424            let param_types: &[&'static ::unity::il2cpp::Il2CppType] =
425                &[<crate::unity_engine::assetbundle::AssetBundle as ::unity::IlType>::il_type()];
426            ::unity::lookup::method_info_on_class_with_signature(
427                <AssetBundleResource as ::unity::ClassIdentity>::class(),
428                "CompleteBundleLoad",
429                1,
430                param_types,
431                false,
432            )
433        });
434        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
435            match &*METHOD {
436                ::core::result::Result::Ok(mi) => *mi,
437                ::core::result::Result::Err(e) => {
438                    panic!(
439                        "method lookup failed: {}
440::{}
441: {}
442",
443                        <AssetBundleResource as ::unity::ClassIdentity>::NAME,
444                        "CompleteBundleLoad",
445                        e
446                    )
447                },
448            }
449        }
450    }
451    #[doc(hidden)]
452    #[allow(non_snake_case)]
453    pub mod __lookup_web_request_operation_completed {
454        use super::*;
455        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
456            let param_types: &[&'static ::unity::il2cpp::Il2CppType] =
457                &[<crate::unity_engine::asyncoperation::AsyncOperation as ::unity::IlType>::il_type()];
458            ::unity::lookup::method_info_on_class_with_signature(
459                <AssetBundleResource as ::unity::ClassIdentity>::class(),
460                "WebRequestOperationCompleted",
461                1,
462                param_types,
463                false,
464            )
465        });
466        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
467            match &*METHOD {
468                ::core::result::Result::Ok(mi) => *mi,
469                ::core::result::Result::Err(e) => {
470                    panic!(
471                        "method lookup failed: {}
472::{}
473: {}
474",
475                        <AssetBundleResource as ::unity::ClassIdentity>::NAME,
476                        "WebRequestOperationCompleted",
477                        e
478                    )
479                },
480            }
481        }
482    }
483    #[doc(hidden)]
484    #[allow(non_snake_case)]
485    pub mod __lookup_unload {
486        use super::*;
487        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
488            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[];
489            ::unity::lookup::method_info_on_class_with_signature(
490                <AssetBundleResource as ::unity::ClassIdentity>::class(),
491                "Unload",
492                0,
493                param_types,
494                false,
495            )
496        });
497        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
498            match &*METHOD {
499                ::core::result::Result::Ok(mi) => *mi,
500                ::core::result::Result::Err(e) => {
501                    panic!(
502                        "method lookup failed: {}
503::{}
504: {}
505",
506                        <AssetBundleResource as ::unity::ClassIdentity>::NAME,
507                        "Unload",
508                        e
509                    )
510                },
511            }
512        }
513    }
514    #[doc(hidden)]
515    #[allow(non_snake_case)]
516    pub mod __lookup_ctor {
517        use super::*;
518        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
519            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[];
520            ::unity::lookup::method_info_on_class_with_signature(
521                <AssetBundleResource as ::unity::ClassIdentity>::class(),
522                ".ctor",
523                0,
524                param_types,
525                false,
526            )
527        });
528        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
529            match &*METHOD {
530                ::core::result::Result::Ok(mi) => *mi,
531                ::core::result::Result::Err(e) => {
532                    panic!(
533                        "method lookup failed: {}
534::{}
535: {}
536",
537                        <AssetBundleResource as ::unity::ClassIdentity>::NAME,
538                        ".ctor",
539                        e
540                    )
541                },
542            }
543        }
544    }
545}
546
547#[cfg(feature = "unity_engine-resource_management-resource_providers-assetbundleresource")]
548impl AssetBundleResource {
549    #[doc = "`GetLoadInfo(crate::unity_engine::resource_management::resource_providers::providehandle::ProvideHandle, *mutcrate::unity_engine::resource_management::resource_providers::assetbundleresource::AssetBundleResource_LoadType, *mut::unity::Il2CppString)` overload"]
550    pub fn get_load_info(
551        handle: impl ::core::convert::Into<crate::unity_engine::resource_management::resource_providers::providehandle::ProvideHandle>,
552    ) -> (
553        crate::unity_engine::resource_management::resource_providers::assetbundleresource::AssetBundleResource_LoadType,
554        ::unity::Il2CppString,
555    ) {
556        unsafe {
557            let mut __out_0 = ::core::mem::MaybeUninit::<
558                crate::unity_engine::resource_management::resource_providers::assetbundleresource::AssetBundleResource_LoadType,
559            >::uninit();
560            let mut __out_1 = ::core::mem::MaybeUninit::<::unity::Il2CppString>::uninit();
561            ::unity::il2cpp_call!(__AssetBundleResource_unity_raw::__lookup_get_load_info::get_method_info().method_ptr,();
562(crate::unity_engine::resource_management::resource_providers::providehandle::ProvideHandle)::core::convert::Into::into(handle),(*mut crate::unity_engine::resource_management::resource_providers::assetbundleresource::AssetBundleResource_LoadType)__out_0.as_mut_ptr(),(*mut::unity::Il2CppString)__out_1.as_mut_ptr());
563            (__out_0.assume_init(), __out_1.assume_init())
564        }
565    }
566}
567
568#[cfg(feature = "unity_engine-resource_management-resource_providers-assetbundleresource")]
569pub trait IAssetBundleResourceMethods: IAssetBundleResource {
570    #[doc = "`CreateWebRequest(crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation)` overload"]
571    fn create_web_request(
572        self,
573        loc: impl ::core::convert::Into<crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation>,
574    ) -> crate::unity_engine::networking::unitywebrequest::UnityWebRequest {
575        unsafe {
576            let __receiver = <AssetBundleResource as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
577            ::unity::il2cpp_call!(__AssetBundleResource_unity_raw::__lookup_create_web_request::get_method_info().method_ptr,crate::unity_engine::networking::unitywebrequest::UnityWebRequest;
578(AssetBundleResource)__receiver,(crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation)::core::convert::Into::into(loc))
579        }
580    }
581    #[doc = "`CreateWebRequest(::unity::Il2CppString)` overload"]
582    fn create_web_request_2(
583        self,
584        url: impl ::core::convert::Into<::unity::Il2CppString>,
585    ) -> crate::unity_engine::networking::unitywebrequest::UnityWebRequest {
586        unsafe {
587            let __receiver = <AssetBundleResource as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
588            ::unity::il2cpp_call!(__AssetBundleResource_unity_raw::__lookup_create_web_request_2::get_method_info().method_ptr,crate::unity_engine::networking::unitywebrequest::UnityWebRequest;
589(AssetBundleResource)__receiver,(::unity::Il2CppString)::core::convert::Into::into(url))
590        }
591    }
592    #[doc = "`PercentComplete()` overload"]
593    fn percent_complete(self) -> f32 {
594        unsafe {
595            let __receiver = <AssetBundleResource as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
596            ::unity::il2cpp_call!(__AssetBundleResource_unity_raw::__lookup_percent_complete::get_method_info().method_ptr,f32;
597(AssetBundleResource)__receiver)
598        }
599    }
600    #[doc = "`GetDownloadStatus()` overload"]
601    fn get_download_status(self) -> crate::unity_engine::resource_management::async_operations::downloadstatus::DownloadStatus {
602        unsafe {
603            let __receiver = <AssetBundleResource as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
604            ::unity::il2cpp_call!(__AssetBundleResource_unity_raw::__lookup_get_download_status::get_method_info().method_ptr,crate::unity_engine::resource_management::async_operations::downloadstatus::DownloadStatus;
605(AssetBundleResource)__receiver)
606        }
607    }
608    #[doc = "`GetAssetBundle()` overload"]
609    fn get_asset_bundle(self) -> crate::unity_engine::assetbundle::AssetBundle {
610        unsafe {
611            let __receiver = <AssetBundleResource as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
612            {
613                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
614                let __vi = *__vt.get(4usize).unwrap_or_else(|| {
615                    panic!(
616                        "unity: virtual slot {}
617 out of range (vtable len {}
618) on the runtime class behind {}
619 (method `{}
620`)",
621                        4usize,
622                        __vt.len(),
623                        <AssetBundleResource as ::unity::ClassIdentity>::NAME,
624                        "GetAssetBundle",
625                    )
626                });
627                let __inner: extern "C" fn(AssetBundleResource, ::unity::OptionalMethod) -> crate::unity_engine::assetbundle::AssetBundle =
628                    ::core::mem::transmute(__vi.method_ptr);
629                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
630                __inner(__receiver, __mi)
631            }
632        }
633    }
634    #[doc = "`Start(crate::unity_engine::resource_management::resource_providers::providehandle::ProvideHandle)` overload"]
635    fn start(
636        self,
637        provide_handle: impl ::core::convert::Into<crate::unity_engine::resource_management::resource_providers::providehandle::ProvideHandle>,
638    ) -> () {
639        unsafe {
640            let __receiver = <AssetBundleResource as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
641            ::unity::il2cpp_call!(__AssetBundleResource_unity_raw::__lookup_start::get_method_info().method_ptr,();
642(AssetBundleResource)__receiver,(crate::unity_engine::resource_management::resource_providers::providehandle::ProvideHandle)::core::convert::Into::into(provide_handle))
643        }
644    }
645    #[doc = "`WaitForCompletionHandler()` overload"]
646    fn wait_for_completion_handler(self) -> bool {
647        unsafe {
648            let __receiver = <AssetBundleResource as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
649            ::unity::il2cpp_call!(__AssetBundleResource_unity_raw::__lookup_wait_for_completion_handler::get_method_info().method_ptr,bool;
650(AssetBundleResource)__receiver)
651        }
652    }
653    #[doc = "`AddCallbackInvokeIfDone(crate::unity_engine::asyncoperation::AsyncOperation, crate::system::action_1::Action_1<crate::unity_engine::asyncoperation::AsyncOperation>)` overload"]
654    fn add_callback_invoke_if_done(
655        self,
656        operation: impl ::core::convert::Into<crate::unity_engine::asyncoperation::AsyncOperation>,
657        callback: impl ::core::convert::Into<crate::system::action_1::Action_1<crate::unity_engine::asyncoperation::AsyncOperation>>,
658    ) -> () {
659        unsafe {
660            let __receiver = <AssetBundleResource as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
661            ::unity::il2cpp_call!(__AssetBundleResource_unity_raw::__lookup_add_callback_invoke_if_done::get_method_info().method_ptr,();
662(AssetBundleResource)__receiver,(crate::unity_engine::asyncoperation::AsyncOperation)::core::convert::Into::into(operation),(crate::system::action_1::Action_1<crate::unity_engine::asyncoperation::AsyncOperation>)::core::convert::Into::into(callback))
663        }
664    }
665    #[doc = "`BeginOperation()` overload"]
666    fn begin_operation(self) -> () {
667        unsafe {
668            let __receiver = <AssetBundleResource as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
669            ::unity::il2cpp_call!(__AssetBundleResource_unity_raw::__lookup_begin_operation::get_method_info().method_ptr,();
670(AssetBundleResource)__receiver)
671        }
672    }
673    #[doc = "`LocalRequestOperationCompleted(crate::unity_engine::asyncoperation::AsyncOperation)` overload"]
674    fn local_request_operation_completed(self, op: impl ::core::convert::Into<crate::unity_engine::asyncoperation::AsyncOperation>) -> () {
675        unsafe {
676            let __receiver = <AssetBundleResource as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
677            ::unity::il2cpp_call!(__AssetBundleResource_unity_raw::__lookup_local_request_operation_completed::get_method_info().method_ptr,();
678(AssetBundleResource)__receiver,(crate::unity_engine::asyncoperation::AsyncOperation)::core::convert::Into::into(op))
679        }
680    }
681    #[doc = "`CompleteBundleLoad(crate::unity_engine::assetbundle::AssetBundle)` overload"]
682    fn complete_bundle_load(self, bundle: impl ::core::convert::Into<crate::unity_engine::assetbundle::AssetBundle>) -> () {
683        unsafe {
684            let __receiver = <AssetBundleResource as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
685            ::unity::il2cpp_call!(__AssetBundleResource_unity_raw::__lookup_complete_bundle_load::get_method_info().method_ptr,();
686(AssetBundleResource)__receiver,(crate::unity_engine::assetbundle::AssetBundle)::core::convert::Into::into(bundle))
687        }
688    }
689    #[doc = "`WebRequestOperationCompleted(crate::unity_engine::asyncoperation::AsyncOperation)` overload"]
690    fn web_request_operation_completed(self, op: impl ::core::convert::Into<crate::unity_engine::asyncoperation::AsyncOperation>) -> () {
691        unsafe {
692            let __receiver = <AssetBundleResource as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
693            ::unity::il2cpp_call!(__AssetBundleResource_unity_raw::__lookup_web_request_operation_completed::get_method_info().method_ptr,();
694(AssetBundleResource)__receiver,(crate::unity_engine::asyncoperation::AsyncOperation)::core::convert::Into::into(op))
695        }
696    }
697    #[doc = "`Unload()` overload"]
698    fn unload(self) -> () {
699        unsafe {
700            let __receiver = <AssetBundleResource as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
701            ::unity::il2cpp_call!(__AssetBundleResource_unity_raw::__lookup_unload::get_method_info().method_ptr,();
702(AssetBundleResource)__receiver)
703        }
704    }
705    #[doc = "`.ctor()` overload"]
706    fn ctor(self) -> () {
707        unsafe {
708            let __receiver = <AssetBundleResource as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
709            ::unity::il2cpp_call!(__AssetBundleResource_unity_raw::__lookup_ctor::get_method_info().method_ptr,();
710(AssetBundleResource)__receiver)
711        }
712    }
713}
714
715#[cfg(feature = "unity_engine-resource_management-resource_providers-assetbundleresource")]
716impl<__T: IAssetBundleResource> IAssetBundleResourceMethods for __T {}
717
718#[cfg(feature = "unity_engine-resource_management-resource_providers-assetbundleresource")]
719impl AssetBundleResource {
720    pub fn create_web_request_method_info() -> &'static ::unity::il2cpp::MethodInfo {
721        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
722    }
723
724    pub fn create_web_request_2_method_info() -> &'static ::unity::il2cpp::MethodInfo {
725        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
726    }
727
728    pub fn percent_complete_method_info() -> &'static ::unity::il2cpp::MethodInfo {
729        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
730    }
731
732    pub fn get_download_status_method_info() -> &'static ::unity::il2cpp::MethodInfo {
733        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[3]
734    }
735
736    pub fn get_asset_bundle_method_info() -> &'static ::unity::il2cpp::MethodInfo {
737        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[4]
738    }
739
740    pub fn start_method_info() -> &'static ::unity::il2cpp::MethodInfo {
741        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[5]
742    }
743
744    pub fn wait_for_completion_handler_method_info() -> &'static ::unity::il2cpp::MethodInfo {
745        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[6]
746    }
747
748    pub fn add_callback_invoke_if_done_method_info() -> &'static ::unity::il2cpp::MethodInfo {
749        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[7]
750    }
751
752    pub fn get_load_info_method_info() -> &'static ::unity::il2cpp::MethodInfo {
753        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[8]
754    }
755
756    pub fn begin_operation_method_info() -> &'static ::unity::il2cpp::MethodInfo {
757        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[9]
758    }
759
760    pub fn local_request_operation_completed_method_info() -> &'static ::unity::il2cpp::MethodInfo {
761        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[10]
762    }
763
764    pub fn complete_bundle_load_method_info() -> &'static ::unity::il2cpp::MethodInfo {
765        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[11]
766    }
767
768    pub fn web_request_operation_completed_method_info() -> &'static ::unity::il2cpp::MethodInfo {
769        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[12]
770    }
771
772    pub fn unload_method_info() -> &'static ::unity::il2cpp::MethodInfo {
773        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[13]
774    }
775
776    pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
777        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[14]
778    }
779}
780
781#[cfg(feature = "unity_engine-resource_management-resource_providers-assetbundleresource")]
782impl AssetBundleResource {
783    #[doc = "Direct (non-virtual) call to `AssetBundleResource`'s own `GetAssetBundle`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
784    pub unsafe fn get_asset_bundle(this: impl ::core::convert::Into<::unity::IlInstance>) -> crate::unity_engine::assetbundle::AssetBundle {
785        let __mi = Self::get_asset_bundle_method_info();
786        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> crate::unity_engine::assetbundle::AssetBundle =
787            ::core::mem::transmute(__mi.method_ptr);
788        __inner(this.into(), ::core::option::Option::None)
789    }
790}
791
792#[cfg(feature = "unity_engine-resource_management-resource_providers-assetbundleresource")]
793impl AssetBundleResource {
794    #[doc = "`.ctor()` — no args"]
795    pub fn new() -> Self {
796        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
797            panic!(
798                "{}
799::{}
800 failed to instantiate",
801                ::core::stringify!(AssetBundleResource),
802                ::core::stringify!(new),
803            )
804        });
805        <Self as IAssetBundleResourceMethods>::ctor(this);
806        this
807    }
808}
809
810#[cfg(feature = "unity_engine-resource_management-resource_providers-assetbundleresource")]
811#[doc(hidden)]
812pub mod prelude {
813    pub use super::{AssetBundleResource, AssetBundleResource_LoadType, IAssetBundleResource, IAssetBundleResourceMethods};
814    #[cfg(feature = "system-object")]
815    pub use crate::system::object::IObjectMethods;
816    #[cfg(feature = "system-enum")]
817    pub use crate::system::r#enum::IEnumMethods;
818    #[cfg(feature = "system-valuetype")]
819    pub use crate::system::valuetype::IValueTypeMethods;
820    pub use crate::system::{object::IObject, r#enum::IEnum, valuetype::IValueType};
821}