Skip to main content

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

1// @generated by il2cpp-bindgen — do not edit by hand.
2
3#[cfg(feature = "unity_engine-resource_management-resource_providers-iresourceprovider-types")]
4mod __types {
5    #[allow(unused_imports)] use ::unity::prelude::*;
6
7    use super::*;
8
9    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/unity_engine/resource_management/resource_providers/iresourceprovider/IResourceProvider.md"))]
10    #[::unity::class(namespace = "UnityEngine.ResourceManagement.ResourceProviders", name = "IResourceProvider")]
11    pub struct IResourceProvider {}
12}
13
14#[cfg(feature = "unity_engine-resource_management-resource_providers-iresourceprovider-types")]
15pub use __types::*;
16
17#[cfg(feature = "unity_engine-resource_management-resource_providers-iresourceprovider")]
18pub trait IIResourceProviderMethods: IIResourceProvider {
19    #[doc = "`get_ProviderId()` overload"]
20    fn get_provider_id(self) -> ::unity::Il2CppString {
21        unsafe {
22            let __receiver = <IResourceProvider as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
23            {
24                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
25                let __vi = *__vt.get(0usize).unwrap_or_else(|| {
26                    panic!(
27                        "unity: virtual slot {}
28 out of range (vtable len {}
29) on the runtime class behind {}
30 (method `{}
31`)",
32                        0usize,
33                        __vt.len(),
34                        <IResourceProvider as ::unity::ClassIdentity>::NAME,
35                        "get_ProviderId",
36                    )
37                });
38                let __inner: extern "C" fn(IResourceProvider, ::unity::OptionalMethod) -> ::unity::Il2CppString =
39                    ::core::mem::transmute(__vi.method_ptr);
40                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
41                __inner(__receiver, __mi)
42            }
43        }
44    }
45    #[doc = "`GetDefaultType(crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation)` overload"]
46    fn get_default_type(
47        self,
48        location: impl ::core::convert::Into<crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation>,
49    ) -> ::unity::SystemType {
50        unsafe {
51            let __receiver = <IResourceProvider as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
52            {
53                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
54                let __vi = *__vt.get(1usize).unwrap_or_else(|| {
55                    panic!(
56                        "unity: virtual slot {}
57 out of range (vtable len {}
58) on the runtime class behind {}
59 (method `{}
60`)",
61                        1usize,
62                        __vt.len(),
63                        <IResourceProvider as ::unity::ClassIdentity>::NAME,
64                        "GetDefaultType",
65                    )
66                });
67                let __inner: extern "C" fn(
68                    IResourceProvider,
69                    crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation,
70                    ::unity::OptionalMethod,
71                ) -> ::unity::SystemType = ::core::mem::transmute(__vi.method_ptr);
72                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
73                __inner(__receiver, ::core::convert::Into::into(location), __mi)
74            }
75        }
76    }
77    #[doc = "`CanProvide(::unity::SystemType, crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation)` overload"]
78    fn can_provide(
79        self,
80        r#type: impl ::core::convert::Into<::unity::SystemType>,
81        location: impl ::core::convert::Into<crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation>,
82    ) -> bool {
83        unsafe {
84            let __receiver = <IResourceProvider as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
85            {
86                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
87                let __vi = *__vt.get(2usize).unwrap_or_else(|| {
88                    panic!(
89                        "unity: virtual slot {}
90 out of range (vtable len {}
91) on the runtime class behind {}
92 (method `{}
93`)",
94                        2usize,
95                        __vt.len(),
96                        <IResourceProvider as ::unity::ClassIdentity>::NAME,
97                        "CanProvide",
98                    )
99                });
100                let __inner: extern "C" fn(
101                    IResourceProvider,
102                    ::unity::SystemType,
103                    crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation,
104                    ::unity::OptionalMethod,
105                ) -> bool = ::core::mem::transmute(__vi.method_ptr);
106                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
107                __inner(
108                    __receiver,
109                    ::core::convert::Into::into(r#type),
110                    ::core::convert::Into::into(location),
111                    __mi,
112                )
113            }
114        }
115    }
116    #[doc = "`Provide(crate::unity_engine::resource_management::resource_providers::providehandle::ProvideHandle)` overload"]
117    fn provide(
118        self,
119        provide_handle: impl ::core::convert::Into<crate::unity_engine::resource_management::resource_providers::providehandle::ProvideHandle>,
120    ) -> () {
121        unsafe {
122            let __receiver = <IResourceProvider as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
123            {
124                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
125                let __vi = *__vt.get(3usize).unwrap_or_else(|| {
126                    panic!(
127                        "unity: virtual slot {}
128 out of range (vtable len {}
129) on the runtime class behind {}
130 (method `{}
131`)",
132                        3usize,
133                        __vt.len(),
134                        <IResourceProvider as ::unity::ClassIdentity>::NAME,
135                        "Provide",
136                    )
137                });
138                let __inner: extern "C" fn(
139                    IResourceProvider,
140                    crate::unity_engine::resource_management::resource_providers::providehandle::ProvideHandle,
141                    ::unity::OptionalMethod,
142                ) -> () = ::core::mem::transmute(__vi.method_ptr);
143                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
144                __inner(__receiver, ::core::convert::Into::into(provide_handle), __mi)
145            }
146        }
147    }
148    #[doc = "`Release(crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation, crate::system::object::Object)` overload"]
149    fn release(
150        self,
151        location: impl ::core::convert::Into<crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation>,
152        asset: impl ::core::convert::Into<crate::system::object::Object>,
153    ) -> () {
154        unsafe {
155            let __receiver = <IResourceProvider as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
156            {
157                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
158                let __vi = *__vt.get(4usize).unwrap_or_else(|| {
159                    panic!(
160                        "unity: virtual slot {}
161 out of range (vtable len {}
162) on the runtime class behind {}
163 (method `{}
164`)",
165                        4usize,
166                        __vt.len(),
167                        <IResourceProvider as ::unity::ClassIdentity>::NAME,
168                        "Release",
169                    )
170                });
171                let __inner: extern "C" fn(
172                    IResourceProvider,
173                    crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation,
174                    crate::system::object::Object,
175                    ::unity::OptionalMethod,
176                ) -> () = ::core::mem::transmute(__vi.method_ptr);
177                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
178                __inner(
179                    __receiver,
180                    ::core::convert::Into::into(location),
181                    ::core::convert::Into::into(asset),
182                    __mi,
183                )
184            }
185        }
186    }
187    #[doc = "`get_BehaviourFlags()` overload"]
188    fn get_behaviour_flags(self) -> crate::unity_engine::resource_management::resource_providers::providerbehaviourflags::ProviderBehaviourFlags {
189        unsafe {
190            let __receiver = <IResourceProvider as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
191            {
192                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
193                let __vi = *__vt.get(5usize).unwrap_or_else(|| {
194                    panic!(
195                        "unity: virtual slot {}
196 out of range (vtable len {}
197) on the runtime class behind {}
198 (method `{}
199`)",
200                        5usize,
201                        __vt.len(),
202                        <IResourceProvider as ::unity::ClassIdentity>::NAME,
203                        "get_BehaviourFlags",
204                    )
205                });
206                let __inner:extern "C" fn(IResourceProvider, ::unity::OptionalMethod,)->crate::unity_engine::resource_management::resource_providers::providerbehaviourflags::ProviderBehaviourFlags= ::core::mem::transmute(__vi.method_ptr);
207                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
208                __inner(__receiver, __mi)
209            }
210        }
211    }
212}
213
214#[cfg(feature = "unity_engine-resource_management-resource_providers-iresourceprovider")]
215impl<__T: IIResourceProvider> IIResourceProviderMethods for __T {}
216
217#[cfg(feature = "unity_engine-resource_management-resource_providers-iresourceprovider")]
218impl IResourceProvider {
219    pub fn get_provider_id_method_info() -> &'static ::unity::il2cpp::MethodInfo {
220        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
221    }
222
223    pub fn get_default_type_method_info() -> &'static ::unity::il2cpp::MethodInfo {
224        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
225    }
226
227    pub fn can_provide_method_info() -> &'static ::unity::il2cpp::MethodInfo {
228        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
229    }
230
231    pub fn provide_method_info() -> &'static ::unity::il2cpp::MethodInfo {
232        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[3]
233    }
234
235    pub fn release_method_info() -> &'static ::unity::il2cpp::MethodInfo {
236        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[4]
237    }
238
239    pub fn get_behaviour_flags_method_info() -> &'static ::unity::il2cpp::MethodInfo {
240        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[5]
241    }
242}
243
244#[cfg(feature = "unity_engine-resource_management-resource_providers-iresourceprovider")]
245impl IResourceProvider {
246    #[doc = "Direct (non-virtual) call to `IResourceProvider`'s own `get_ProviderId`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
247    pub unsafe fn get_provider_id(this: impl ::core::convert::Into<::unity::IlInstance>) -> ::unity::Il2CppString {
248        let __mi = Self::get_provider_id_method_info();
249        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> ::unity::Il2CppString = ::core::mem::transmute(__mi.method_ptr);
250        __inner(this.into(), ::core::option::Option::None)
251    }
252
253    #[doc = "Direct (non-virtual) call to `IResourceProvider`'s own `GetDefaultType`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
254    pub unsafe fn get_default_type(
255        this: impl ::core::convert::Into<::unity::IlInstance>,
256        location: crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation,
257    ) -> ::unity::SystemType {
258        let __mi = Self::get_default_type_method_info();
259        let __inner: extern "C" fn(
260            ::unity::IlInstance,
261            crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation,
262            ::unity::OptionalMethod,
263        ) -> ::unity::SystemType = ::core::mem::transmute(__mi.method_ptr);
264        __inner(this.into(), location, ::core::option::Option::None)
265    }
266
267    #[doc = "Direct (non-virtual) call to `IResourceProvider`'s own `CanProvide`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
268    pub unsafe fn can_provide(
269        this: impl ::core::convert::Into<::unity::IlInstance>,
270        r#type: ::unity::SystemType,
271        location: crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation,
272    ) -> bool {
273        let __mi = Self::can_provide_method_info();
274        let __inner: extern "C" fn(
275            ::unity::IlInstance,
276            ::unity::SystemType,
277            crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation,
278            ::unity::OptionalMethod,
279        ) -> bool = ::core::mem::transmute(__mi.method_ptr);
280        __inner(this.into(), r#type, location, ::core::option::Option::None)
281    }
282
283    #[doc = "Direct (non-virtual) call to `IResourceProvider`'s own `Provide`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
284    pub unsafe fn provide(
285        this: impl ::core::convert::Into<::unity::IlInstance>,
286        provide_handle: crate::unity_engine::resource_management::resource_providers::providehandle::ProvideHandle,
287    ) -> () {
288        let __mi = Self::provide_method_info();
289        let __inner: extern "C" fn(
290            ::unity::IlInstance,
291            crate::unity_engine::resource_management::resource_providers::providehandle::ProvideHandle,
292            ::unity::OptionalMethod,
293        ) -> () = ::core::mem::transmute(__mi.method_ptr);
294        __inner(this.into(), provide_handle, ::core::option::Option::None)
295    }
296
297    #[doc = "Direct (non-virtual) call to `IResourceProvider`'s own `Release`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
298    pub unsafe fn release(
299        this: impl ::core::convert::Into<::unity::IlInstance>,
300        location: crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation,
301        asset: crate::system::object::Object,
302    ) -> () {
303        let __mi = Self::release_method_info();
304        let __inner: extern "C" fn(
305            ::unity::IlInstance,
306            crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation,
307            crate::system::object::Object,
308            ::unity::OptionalMethod,
309        ) -> () = ::core::mem::transmute(__mi.method_ptr);
310        __inner(this.into(), location, asset, ::core::option::Option::None)
311    }
312
313    #[doc = "Direct (non-virtual) call to `IResourceProvider`'s own `get_BehaviourFlags`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
314    pub unsafe fn get_behaviour_flags(
315        this: impl ::core::convert::Into<::unity::IlInstance>,
316    ) -> crate::unity_engine::resource_management::resource_providers::providerbehaviourflags::ProviderBehaviourFlags {
317        let __mi = Self::get_behaviour_flags_method_info();
318        let __inner: extern "C" fn(
319            ::unity::IlInstance,
320            ::unity::OptionalMethod,
321        )
322            -> crate::unity_engine::resource_management::resource_providers::providerbehaviourflags::ProviderBehaviourFlags =
323            ::core::mem::transmute(__mi.method_ptr);
324        __inner(this.into(), ::core::option::Option::None)
325    }
326}
327
328#[cfg(feature = "unity_engine-resource_management-resource_providers-iresourceprovider")]
329#[doc(hidden)]
330pub mod prelude {
331    pub use super::{IIResourceProvider, IIResourceProviderMethods, IResourceProvider};
332}