Skip to main content

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

1// @generated by il2cpp-bindgen — do not edit by hand.
2
3#[cfg(feature = "unity_engine-resource_management-resource_providers-assetbundleprovider-types")]
4mod __types {
5    #[allow(unused_imports)] use ::unity::prelude::*;
6
7    use super::*;
8    use crate::{
9        system::object::{IObject, Object},
10        unity_engine::resource_management::resource_providers::resourceproviderbase::{IResourceProviderBase, ResourceProviderBase},
11    };
12
13    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/unity_engine/resource_management/resource_providers/assetbundleprovider/AssetBundleProvider.md"))]
14    #[::unity::class(namespace = "UnityEngine.ResourceManagement.ResourceProviders", name = "AssetBundleProvider")]
15    #[parent(crate::unity_engine::resource_management::resource_providers::resourceproviderbase::ResourceProviderBase)]
16    pub struct AssetBundleProvider {}
17}
18
19#[cfg(feature = "unity_engine-resource_management-resource_providers-assetbundleprovider-types")]
20pub use __types::*;
21
22#[cfg(feature = "unity_engine-resource_management-resource_providers-assetbundleprovider")]
23#[doc(hidden)]
24#[allow(non_snake_case, non_camel_case_types, clippy::too_many_arguments)]
25mod __AssetBundleProvider_unity_raw {
26    use super::*;
27    #[doc(hidden)]
28    #[allow(non_snake_case)]
29    pub mod __lookup_ctor {
30        use super::*;
31        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
32            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[];
33            ::unity::lookup::method_info_on_class_with_signature(
34                <AssetBundleProvider as ::unity::ClassIdentity>::class(),
35                ".ctor",
36                0,
37                param_types,
38                false,
39            )
40        });
41        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
42            match &*METHOD {
43                ::core::result::Result::Ok(mi) => *mi,
44                ::core::result::Result::Err(e) => {
45                    panic!(
46                        "method lookup failed: {}
47::{}
48: {}
49",
50                        <AssetBundleProvider as ::unity::ClassIdentity>::NAME,
51                        ".ctor",
52                        e
53                    )
54                },
55            }
56        }
57    }
58}
59
60#[cfg(feature = "unity_engine-resource_management-resource_providers-assetbundleprovider")]
61pub trait IAssetBundleProviderMethods: IAssetBundleProvider {
62    #[doc = "`Provide(crate::unity_engine::resource_management::resource_providers::providehandle::ProvideHandle)` overload"]
63    fn provide(
64        self,
65        provider_interface: impl ::core::convert::Into<crate::unity_engine::resource_management::resource_providers::providehandle::ProvideHandle>,
66    ) -> () {
67        unsafe {
68            let __receiver = <AssetBundleProvider as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
69            {
70                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
71                let __vi = *__vt.get(17usize).unwrap_or_else(|| {
72                    panic!(
73                        "unity: virtual slot {}
74 out of range (vtable len {}
75) on the runtime class behind {}
76 (method `{}
77`)",
78                        17usize,
79                        __vt.len(),
80                        <AssetBundleProvider as ::unity::ClassIdentity>::NAME,
81                        "Provide",
82                    )
83                });
84                let __inner: extern "C" fn(
85                    AssetBundleProvider,
86                    crate::unity_engine::resource_management::resource_providers::providehandle::ProvideHandle,
87                    ::unity::OptionalMethod,
88                ) -> () = ::core::mem::transmute(__vi.method_ptr);
89                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
90                __inner(__receiver, ::core::convert::Into::into(provider_interface), __mi)
91            }
92        }
93    }
94    #[doc = "`GetDefaultType(crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation)` overload"]
95    fn get_default_type(
96        self,
97        location: impl ::core::convert::Into<crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation>,
98    ) -> ::unity::SystemType {
99        unsafe {
100            let __receiver = <AssetBundleProvider as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
101            {
102                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
103                let __vi = *__vt.get(16usize).unwrap_or_else(|| {
104                    panic!(
105                        "unity: virtual slot {}
106 out of range (vtable len {}
107) on the runtime class behind {}
108 (method `{}
109`)",
110                        16usize,
111                        __vt.len(),
112                        <AssetBundleProvider as ::unity::ClassIdentity>::NAME,
113                        "GetDefaultType",
114                    )
115                });
116                let __inner: extern "C" fn(
117                    AssetBundleProvider,
118                    crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation,
119                    ::unity::OptionalMethod,
120                ) -> ::unity::SystemType = ::core::mem::transmute(__vi.method_ptr);
121                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
122                __inner(__receiver, ::core::convert::Into::into(location), __mi)
123            }
124        }
125    }
126    #[doc = "`Release(crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation, crate::system::object::Object)` overload"]
127    fn release(
128        self,
129        location: impl ::core::convert::Into<crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation>,
130        asset: impl ::core::convert::Into<crate::system::object::Object>,
131    ) -> () {
132        unsafe {
133            let __receiver = <AssetBundleProvider as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
134            {
135                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
136                let __vi = *__vt.get(15usize).unwrap_or_else(|| {
137                    panic!(
138                        "unity: virtual slot {}
139 out of range (vtable len {}
140) on the runtime class behind {}
141 (method `{}
142`)",
143                        15usize,
144                        __vt.len(),
145                        <AssetBundleProvider as ::unity::ClassIdentity>::NAME,
146                        "Release",
147                    )
148                });
149                let __inner: extern "C" fn(
150                    AssetBundleProvider,
151                    crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation,
152                    crate::system::object::Object,
153                    ::unity::OptionalMethod,
154                ) -> () = ::core::mem::transmute(__vi.method_ptr);
155                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
156                __inner(
157                    __receiver,
158                    ::core::convert::Into::into(location),
159                    ::core::convert::Into::into(asset),
160                    __mi,
161                )
162            }
163        }
164    }
165    #[doc = "`.ctor()` overload"]
166    fn ctor(self) -> () {
167        unsafe {
168            let __receiver = <AssetBundleProvider as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
169            ::unity::il2cpp_call!(__AssetBundleProvider_unity_raw::__lookup_ctor::get_method_info().method_ptr,();
170(AssetBundleProvider)__receiver)
171        }
172    }
173}
174
175#[cfg(feature = "unity_engine-resource_management-resource_providers-assetbundleprovider")]
176impl<__T: IAssetBundleProvider> IAssetBundleProviderMethods for __T {}
177
178#[cfg(feature = "unity_engine-resource_management-resource_providers-assetbundleprovider")]
179impl AssetBundleProvider {
180    pub fn provide_method_info() -> &'static ::unity::il2cpp::MethodInfo {
181        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
182    }
183
184    pub fn get_default_type_method_info() -> &'static ::unity::il2cpp::MethodInfo {
185        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
186    }
187
188    pub fn release_method_info() -> &'static ::unity::il2cpp::MethodInfo {
189        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
190    }
191
192    pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
193        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[3]
194    }
195}
196
197#[cfg(feature = "unity_engine-resource_management-resource_providers-assetbundleprovider")]
198impl AssetBundleProvider {
199    #[doc = "Direct (non-virtual) call to `AssetBundleProvider`'s own `Provide`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
200    pub unsafe fn provide(
201        this: impl ::core::convert::Into<::unity::IlInstance>,
202        provider_interface: crate::unity_engine::resource_management::resource_providers::providehandle::ProvideHandle,
203    ) -> () {
204        let __mi = Self::provide_method_info();
205        let __inner: extern "C" fn(
206            ::unity::IlInstance,
207            crate::unity_engine::resource_management::resource_providers::providehandle::ProvideHandle,
208            ::unity::OptionalMethod,
209        ) -> () = ::core::mem::transmute(__mi.method_ptr);
210        __inner(this.into(), provider_interface, ::core::option::Option::None)
211    }
212
213    #[doc = "Direct (non-virtual) call to `AssetBundleProvider`'s own `GetDefaultType`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
214    pub unsafe fn get_default_type(
215        this: impl ::core::convert::Into<::unity::IlInstance>,
216        location: crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation,
217    ) -> ::unity::SystemType {
218        let __mi = Self::get_default_type_method_info();
219        let __inner: extern "C" fn(
220            ::unity::IlInstance,
221            crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation,
222            ::unity::OptionalMethod,
223        ) -> ::unity::SystemType = ::core::mem::transmute(__mi.method_ptr);
224        __inner(this.into(), location, ::core::option::Option::None)
225    }
226
227    #[doc = "Direct (non-virtual) call to `AssetBundleProvider`'s own `Release`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
228    pub unsafe fn release(
229        this: impl ::core::convert::Into<::unity::IlInstance>,
230        location: crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation,
231        asset: crate::system::object::Object,
232    ) -> () {
233        let __mi = Self::release_method_info();
234        let __inner: extern "C" fn(
235            ::unity::IlInstance,
236            crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation,
237            crate::system::object::Object,
238            ::unity::OptionalMethod,
239        ) -> () = ::core::mem::transmute(__mi.method_ptr);
240        __inner(this.into(), location, asset, ::core::option::Option::None)
241    }
242}
243
244#[cfg(feature = "unity_engine-resource_management-resource_providers-assetbundleprovider")]
245impl AssetBundleProvider {
246    #[doc = "`.ctor()` — no args"]
247    pub fn new() -> Self {
248        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
249            panic!(
250                "{}
251::{}
252 failed to instantiate",
253                ::core::stringify!(AssetBundleProvider),
254                ::core::stringify!(new),
255            )
256        });
257        <Self as IAssetBundleProviderMethods>::ctor(this);
258        this
259    }
260}
261
262#[cfg(feature = "unity_engine-resource_management-resource_providers-assetbundleprovider")]
263#[doc(hidden)]
264pub mod prelude {
265    pub use super::{AssetBundleProvider, IAssetBundleProvider, IAssetBundleProviderMethods};
266    #[cfg(feature = "system-object")]
267    pub use crate::system::object::IObjectMethods;
268    #[cfg(feature = "unity_engine-resource_management-resource_providers-resourceproviderbase")]
269    pub use crate::unity_engine::resource_management::resource_providers::resourceproviderbase::IResourceProviderBaseMethods;
270    pub use crate::{system::object::IObject, unity_engine::resource_management::resource_providers::resourceproviderbase::IResourceProviderBase};
271}