Skip to main content

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

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