engage/generated/unity_engine/resource_management/resource_providers/
assetbundleprovider.rs1#[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}