Skip to main content

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

1// @generated by il2cpp-bindgen — do not edit by hand.
2
3#[cfg(feature = "unity_engine-resource_management-resource_providers-resourceproviderbase-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::async_operations::asyncoperationbase_1::{AsyncOperationBase_1, IAsyncOperationBase_1},
11    };
12
13    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/unity_engine/resource_management/resource_providers/resourceproviderbase/ResourceProviderBase_BaseInitAsyncOp.md"))]
14    #[::unity::class(
15        namespace = "UnityEngine.ResourceManagement.ResourceProviders",
16        name = "ResourceProviderBase.BaseInitAsyncOp"
17    )]
18    #[parent(crate::unity_engine::resource_management::async_operations::asyncoperationbase_1::AsyncOperationBase_1<bool>)]
19    pub struct ResourceProviderBase_BaseInitAsyncOp {
20        #[offset(136)]
21        #[rename(name = "m_CallBack")]
22        pub m_call_back: crate::system::func_1::Func_1<bool>,
23    }
24
25    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/unity_engine/resource_management/resource_providers/resourceproviderbase/ResourceProviderBase.md"))]
26    #[::unity::class(namespace = "UnityEngine.ResourceManagement.ResourceProviders", name = "ResourceProviderBase")]
27    #[parent(crate::system::object::Object)]
28    pub struct ResourceProviderBase {
29        #[offset(16)]
30        #[rename(name = "m_ProviderId")]
31        pub m_provider_id: ::unity::Il2CppString,
32        #[offset(24)]
33        #[rename(name = "m_BehaviourFlags")]
34        pub m_behaviour_flags: crate::unity_engine::resource_management::resource_providers::providerbehaviourflags::ProviderBehaviourFlags,
35    }
36}
37
38#[cfg(feature = "unity_engine-resource_management-resource_providers-resourceproviderbase-types")]
39pub use __types::*;
40
41#[cfg(feature = "unity_engine-resource_management-resource_providers-resourceproviderbase")]
42#[doc(hidden)]
43#[allow(non_snake_case, non_camel_case_types, clippy::too_many_arguments)]
44mod __ResourceProviderBase_BaseInitAsyncOp_unity_raw {
45    use super::*;
46    #[doc(hidden)]
47    #[allow(non_snake_case)]
48    pub mod __lookup_init {
49        use super::*;
50        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
51            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[<crate::system::func_1::Func_1<bool> as ::unity::IlType>::il_type()];
52            ::unity::lookup::method_info_on_class_with_signature(
53                <ResourceProviderBase_BaseInitAsyncOp as ::unity::ClassIdentity>::class(),
54                "Init",
55                1,
56                param_types,
57                false,
58            )
59        });
60        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
61            match &*METHOD {
62                ::core::result::Result::Ok(mi) => *mi,
63                ::core::result::Result::Err(e) => {
64                    panic!(
65                        "method lookup failed: {}
66::{}
67: {}
68",
69                        <ResourceProviderBase_BaseInitAsyncOp as ::unity::ClassIdentity>::NAME,
70                        "Init",
71                        e
72                    )
73                },
74            }
75        }
76    }
77    #[doc(hidden)]
78    #[allow(non_snake_case)]
79    pub mod __lookup_ctor {
80        use super::*;
81        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
82            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[];
83            ::unity::lookup::method_info_on_class_with_signature(
84                <ResourceProviderBase_BaseInitAsyncOp as ::unity::ClassIdentity>::class(),
85                ".ctor",
86                0,
87                param_types,
88                false,
89            )
90        });
91        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
92            match &*METHOD {
93                ::core::result::Result::Ok(mi) => *mi,
94                ::core::result::Result::Err(e) => {
95                    panic!(
96                        "method lookup failed: {}
97::{}
98: {}
99",
100                        <ResourceProviderBase_BaseInitAsyncOp as ::unity::ClassIdentity>::NAME,
101                        ".ctor",
102                        e
103                    )
104                },
105            }
106        }
107    }
108}
109
110#[cfg(feature = "unity_engine-resource_management-resource_providers-resourceproviderbase")]
111pub trait IResourceProviderBase_BaseInitAsyncOpMethods: IResourceProviderBase_BaseInitAsyncOp {
112    #[doc = "`Init(crate::system::func_1::Func_1<bool>)` overload"]
113    fn init(self, callback: impl ::core::convert::Into<crate::system::func_1::Func_1<bool>>) -> () {
114        unsafe {
115            let __receiver = <ResourceProviderBase_BaseInitAsyncOp as ::unity::FromIlInstance>::from_il_instance(
116                <Self as ::unity::SystemObject>::as_instance(self),
117            );
118            ::unity::il2cpp_call!(__ResourceProviderBase_BaseInitAsyncOp_unity_raw::__lookup_init::get_method_info().method_ptr,();
119(ResourceProviderBase_BaseInitAsyncOp)__receiver,(crate::system::func_1::Func_1<bool>)::core::convert::Into::into(callback))
120        }
121    }
122    #[doc = "`InvokeWaitForCompletion()` overload"]
123    fn invoke_wait_for_completion(self) -> bool {
124        unsafe {
125            let __receiver = <ResourceProviderBase_BaseInitAsyncOp as ::unity::FromIlInstance>::from_il_instance(
126                <Self as ::unity::SystemObject>::as_instance(self),
127            );
128            {
129                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
130                let __vi = *__vt.get(33usize).unwrap_or_else(|| {
131                    panic!(
132                        "unity: virtual slot {}
133 out of range (vtable len {}
134) on the runtime class behind {}
135 (method `{}
136`)",
137                        33usize,
138                        __vt.len(),
139                        <ResourceProviderBase_BaseInitAsyncOp as ::unity::ClassIdentity>::NAME,
140                        "InvokeWaitForCompletion",
141                    )
142                });
143                let __inner: extern "C" fn(ResourceProviderBase_BaseInitAsyncOp, ::unity::OptionalMethod) -> bool =
144                    ::core::mem::transmute(__vi.method_ptr);
145                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
146                __inner(__receiver, __mi)
147            }
148        }
149    }
150    #[doc = "`Execute()` overload"]
151    fn execute(self) -> () {
152        unsafe {
153            let __receiver = <ResourceProviderBase_BaseInitAsyncOp as ::unity::FromIlInstance>::from_il_instance(
154                <Self as ::unity::SystemObject>::as_instance(self),
155            );
156            {
157                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
158                let __vi = *__vt.get(28usize).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                        28usize,
166                        __vt.len(),
167                        <ResourceProviderBase_BaseInitAsyncOp as ::unity::ClassIdentity>::NAME,
168                        "Execute",
169                    )
170                });
171                let __inner: extern "C" fn(ResourceProviderBase_BaseInitAsyncOp, ::unity::OptionalMethod) -> () =
172                    ::core::mem::transmute(__vi.method_ptr);
173                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
174                __inner(__receiver, __mi)
175            }
176        }
177    }
178    #[doc = "`.ctor()` overload"]
179    fn ctor(self) -> () {
180        unsafe {
181            let __receiver = <ResourceProviderBase_BaseInitAsyncOp as ::unity::FromIlInstance>::from_il_instance(
182                <Self as ::unity::SystemObject>::as_instance(self),
183            );
184            ::unity::il2cpp_call!(__ResourceProviderBase_BaseInitAsyncOp_unity_raw::__lookup_ctor::get_method_info().method_ptr,();
185(ResourceProviderBase_BaseInitAsyncOp)__receiver)
186        }
187    }
188}
189
190#[cfg(feature = "unity_engine-resource_management-resource_providers-resourceproviderbase")]
191impl<__T: IResourceProviderBase_BaseInitAsyncOp> IResourceProviderBase_BaseInitAsyncOpMethods for __T {}
192
193#[cfg(feature = "unity_engine-resource_management-resource_providers-resourceproviderbase")]
194impl ResourceProviderBase_BaseInitAsyncOp {
195    pub fn init_method_info() -> &'static ::unity::il2cpp::MethodInfo {
196        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
197    }
198
199    pub fn invoke_wait_for_completion_method_info() -> &'static ::unity::il2cpp::MethodInfo {
200        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
201    }
202
203    pub fn execute_method_info() -> &'static ::unity::il2cpp::MethodInfo {
204        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
205    }
206
207    pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
208        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[3]
209    }
210}
211
212#[cfg(feature = "unity_engine-resource_management-resource_providers-resourceproviderbase")]
213impl ResourceProviderBase_BaseInitAsyncOp {
214    #[doc = "Direct (non-virtual) call to `ResourceProviderBase_BaseInitAsyncOp`'s own `InvokeWaitForCompletion`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
215    pub unsafe fn invoke_wait_for_completion(this: impl ::core::convert::Into<::unity::IlInstance>) -> bool {
216        let __mi = Self::invoke_wait_for_completion_method_info();
217        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> bool = ::core::mem::transmute(__mi.method_ptr);
218        __inner(this.into(), ::core::option::Option::None)
219    }
220
221    #[doc = "Direct (non-virtual) call to `ResourceProviderBase_BaseInitAsyncOp`'s own `Execute`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
222    pub unsafe fn execute(this: impl ::core::convert::Into<::unity::IlInstance>) -> () {
223        let __mi = Self::execute_method_info();
224        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
225        __inner(this.into(), ::core::option::Option::None)
226    }
227}
228
229#[cfg(feature = "unity_engine-resource_management-resource_providers-resourceproviderbase")]
230impl ResourceProviderBase_BaseInitAsyncOp {
231    #[doc = "`.ctor()` — no args"]
232    pub fn new() -> Self {
233        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
234            panic!(
235                "{}
236::{}
237 failed to instantiate",
238                ::core::stringify!(ResourceProviderBase_BaseInitAsyncOp),
239                ::core::stringify!(new),
240            )
241        });
242        <Self as IResourceProviderBase_BaseInitAsyncOpMethods>::ctor(this);
243        this
244    }
245}
246
247#[cfg(feature = "unity_engine-resource_management-resource_providers-resourceproviderbase")]
248#[doc(hidden)]
249#[allow(non_snake_case, non_camel_case_types, clippy::too_many_arguments)]
250mod __ResourceProviderBase_unity_raw {
251    use super::*;
252    #[doc(hidden)]
253    #[allow(non_snake_case)]
254    pub mod __lookup_ctor {
255        use super::*;
256        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
257            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[];
258            ::unity::lookup::method_info_on_class_with_signature(
259                <ResourceProviderBase as ::unity::ClassIdentity>::class(),
260                ".ctor",
261                0,
262                param_types,
263                false,
264            )
265        });
266        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
267            match &*METHOD {
268                ::core::result::Result::Ok(mi) => *mi,
269                ::core::result::Result::Err(e) => {
270                    panic!(
271                        "method lookup failed: {}
272::{}
273: {}
274",
275                        <ResourceProviderBase as ::unity::ClassIdentity>::NAME,
276                        ".ctor",
277                        e
278                    )
279                },
280            }
281        }
282    }
283}
284
285#[cfg(feature = "unity_engine-resource_management-resource_providers-resourceproviderbase")]
286pub trait IResourceProviderBaseMethods: IResourceProviderBase {
287    #[doc = "`get_ProviderId()` overload"]
288    fn get_provider_id(self) -> ::unity::Il2CppString {
289        unsafe {
290            let __receiver = <ResourceProviderBase as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
291            {
292                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
293                let __vi = *__vt.get(12usize).unwrap_or_else(|| {
294                    panic!(
295                        "unity: virtual slot {}
296 out of range (vtable len {}
297) on the runtime class behind {}
298 (method `{}
299`)",
300                        12usize,
301                        __vt.len(),
302                        <ResourceProviderBase as ::unity::ClassIdentity>::NAME,
303                        "get_ProviderId",
304                    )
305                });
306                let __inner: extern "C" fn(ResourceProviderBase, ::unity::OptionalMethod) -> ::unity::Il2CppString =
307                    ::core::mem::transmute(__vi.method_ptr);
308                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
309                __inner(__receiver, __mi)
310            }
311        }
312    }
313    #[doc = "`Initialize(::unity::Il2CppString, ::unity::Il2CppString)` overload"]
314    fn initialize(self, id: impl ::core::convert::Into<::unity::Il2CppString>, data: impl ::core::convert::Into<::unity::Il2CppString>) -> bool {
315        unsafe {
316            let __receiver = <ResourceProviderBase as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
317            {
318                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
319                let __vi = *__vt.get(13usize).unwrap_or_else(|| {
320                    panic!(
321                        "unity: virtual slot {}
322 out of range (vtable len {}
323) on the runtime class behind {}
324 (method `{}
325`)",
326                        13usize,
327                        __vt.len(),
328                        <ResourceProviderBase as ::unity::ClassIdentity>::NAME,
329                        "Initialize",
330                    )
331                });
332                let __inner: extern "C" fn(ResourceProviderBase, ::unity::Il2CppString, ::unity::Il2CppString, ::unity::OptionalMethod) -> bool =
333                    ::core::mem::transmute(__vi.method_ptr);
334                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
335                __inner(__receiver, ::core::convert::Into::into(id), ::core::convert::Into::into(data), __mi)
336            }
337        }
338    }
339    #[doc = "`CanProvide(::unity::SystemType, crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation)` overload"]
340    fn can_provide(
341        self,
342        t: impl ::core::convert::Into<::unity::SystemType>,
343        location: impl ::core::convert::Into<crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation>,
344    ) -> bool {
345        unsafe {
346            let __receiver = <ResourceProviderBase as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
347            {
348                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
349                let __vi = *__vt.get(14usize).unwrap_or_else(|| {
350                    panic!(
351                        "unity: virtual slot {}
352 out of range (vtable len {}
353) on the runtime class behind {}
354 (method `{}
355`)",
356                        14usize,
357                        __vt.len(),
358                        <ResourceProviderBase as ::unity::ClassIdentity>::NAME,
359                        "CanProvide",
360                    )
361                });
362                let __inner: extern "C" fn(
363                    ResourceProviderBase,
364                    ::unity::SystemType,
365                    crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation,
366                    ::unity::OptionalMethod,
367                ) -> bool = ::core::mem::transmute(__vi.method_ptr);
368                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
369                __inner(__receiver, ::core::convert::Into::into(t), ::core::convert::Into::into(location), __mi)
370            }
371        }
372    }
373    #[doc = "`ToString()` overload"]
374    fn to_string(self) -> ::unity::Il2CppString {
375        unsafe {
376            let __receiver = <ResourceProviderBase as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
377            {
378                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
379                let __vi = *__vt.get(3usize).unwrap_or_else(|| {
380                    panic!(
381                        "unity: virtual slot {}
382 out of range (vtable len {}
383) on the runtime class behind {}
384 (method `{}
385`)",
386                        3usize,
387                        __vt.len(),
388                        <ResourceProviderBase as ::unity::ClassIdentity>::NAME,
389                        "ToString",
390                    )
391                });
392                let __inner: extern "C" fn(ResourceProviderBase, ::unity::OptionalMethod) -> ::unity::Il2CppString =
393                    ::core::mem::transmute(__vi.method_ptr);
394                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
395                __inner(__receiver, __mi)
396            }
397        }
398    }
399    #[doc = "`Release(crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation, crate::system::object::Object)` overload"]
400    fn release(
401        self,
402        location: impl ::core::convert::Into<crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation>,
403        obj: impl ::core::convert::Into<crate::system::object::Object>,
404    ) -> () {
405        unsafe {
406            let __receiver = <ResourceProviderBase as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
407            {
408                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
409                let __vi = *__vt.get(15usize).unwrap_or_else(|| {
410                    panic!(
411                        "unity: virtual slot {}
412 out of range (vtable len {}
413) on the runtime class behind {}
414 (method `{}
415`)",
416                        15usize,
417                        __vt.len(),
418                        <ResourceProviderBase as ::unity::ClassIdentity>::NAME,
419                        "Release",
420                    )
421                });
422                let __inner: extern "C" fn(
423                    ResourceProviderBase,
424                    crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation,
425                    crate::system::object::Object,
426                    ::unity::OptionalMethod,
427                ) -> () = ::core::mem::transmute(__vi.method_ptr);
428                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
429                __inner(__receiver, ::core::convert::Into::into(location), ::core::convert::Into::into(obj), __mi)
430            }
431        }
432    }
433    #[doc = "`GetDefaultType(crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation)` overload"]
434    fn get_default_type(
435        self,
436        location: impl ::core::convert::Into<crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation>,
437    ) -> ::unity::SystemType {
438        unsafe {
439            let __receiver = <ResourceProviderBase as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
440            {
441                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
442                let __vi = *__vt.get(16usize).unwrap_or_else(|| {
443                    panic!(
444                        "unity: virtual slot {}
445 out of range (vtable len {}
446) on the runtime class behind {}
447 (method `{}
448`)",
449                        16usize,
450                        __vt.len(),
451                        <ResourceProviderBase as ::unity::ClassIdentity>::NAME,
452                        "GetDefaultType",
453                    )
454                });
455                let __inner: extern "C" fn(
456                    ResourceProviderBase,
457                    crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation,
458                    ::unity::OptionalMethod,
459                ) -> ::unity::SystemType = ::core::mem::transmute(__vi.method_ptr);
460                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
461                __inner(__receiver, ::core::convert::Into::into(location), __mi)
462            }
463        }
464    }
465    #[doc = "`Provide(crate::unity_engine::resource_management::resource_providers::providehandle::ProvideHandle)` overload"]
466    fn provide(
467        self,
468        provide_handle: impl ::core::convert::Into<crate::unity_engine::resource_management::resource_providers::providehandle::ProvideHandle>,
469    ) -> () {
470        unsafe {
471            let __receiver = <ResourceProviderBase as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
472            {
473                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
474                let __vi = *__vt.get(17usize).unwrap_or_else(|| {
475                    panic!(
476                        "unity: virtual slot {}
477 out of range (vtable len {}
478) on the runtime class behind {}
479 (method `{}
480`)",
481                        17usize,
482                        __vt.len(),
483                        <ResourceProviderBase as ::unity::ClassIdentity>::NAME,
484                        "Provide",
485                    )
486                });
487                let __inner: extern "C" fn(
488                    ResourceProviderBase,
489                    crate::unity_engine::resource_management::resource_providers::providehandle::ProvideHandle,
490                    ::unity::OptionalMethod,
491                ) -> () = ::core::mem::transmute(__vi.method_ptr);
492                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
493                __inner(__receiver, ::core::convert::Into::into(provide_handle), __mi)
494            }
495        }
496    }
497    #[doc = "`InitializeAsync(crate::unity_engine::resource_management::resourcemanager::ResourceManager, ::unity::Il2CppString, ::unity::Il2CppString)` overload"]
498    fn initialize_async(
499        self,
500        rm: impl ::core::convert::Into<crate::unity_engine::resource_management::resourcemanager::ResourceManager>,
501        id: impl ::core::convert::Into<::unity::Il2CppString>,
502        data: impl ::core::convert::Into<::unity::Il2CppString>,
503    ) -> crate::unity_engine::resource_management::async_operations::asyncoperationhandle_1::AsyncOperationHandle_1<bool> {
504        unsafe {
505            let __receiver = <ResourceProviderBase as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
506            {
507                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
508                let __vi = *__vt.get(18usize).unwrap_or_else(|| {
509                    panic!(
510                        "unity: virtual slot {}
511 out of range (vtable len {}
512) on the runtime class behind {}
513 (method `{}
514`)",
515                        18usize,
516                        __vt.len(),
517                        <ResourceProviderBase as ::unity::ClassIdentity>::NAME,
518                        "InitializeAsync",
519                    )
520                });
521                let __inner:extern "C" fn(ResourceProviderBase,crate::unity_engine::resource_management::resourcemanager::ResourceManager, ::unity::Il2CppString, ::unity::Il2CppString, ::unity::OptionalMethod,)->crate::unity_engine::resource_management::async_operations::asyncoperationhandle_1::AsyncOperationHandle_1<bool> = ::core::mem::transmute(__vi.method_ptr);
522                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
523                __inner(
524                    __receiver,
525                    ::core::convert::Into::into(rm),
526                    ::core::convert::Into::into(id),
527                    ::core::convert::Into::into(data),
528                    __mi,
529                )
530            }
531        }
532    }
533    #[doc = "`UnityEngine.ResourceManagement.ResourceProviders.IResourceProvider.get_BehaviourFlags()` overload"]
534    fn unity_engine_resource_management_resource_providers_i_resource_provider_get_behaviour_flags(
535        self,
536    ) -> crate::unity_engine::resource_management::resource_providers::providerbehaviourflags::ProviderBehaviourFlags {
537        unsafe {
538            let __receiver = <ResourceProviderBase as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
539            {
540                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
541                let __vi = *__vt.get(9usize).unwrap_or_else(|| {
542                    panic!(
543                        "unity: virtual slot {}
544 out of range (vtable len {}
545) on the runtime class behind {}
546 (method `{}
547`)",
548                        9usize,
549                        __vt.len(),
550                        <ResourceProviderBase as ::unity::ClassIdentity>::NAME,
551                        "UnityEngine.ResourceManagement.ResourceProviders.IResourceProvider.get_BehaviourFlags",
552                    )
553                });
554                let __inner:extern "C" fn(ResourceProviderBase, ::unity::OptionalMethod,)->crate::unity_engine::resource_management::resource_providers::providerbehaviourflags::ProviderBehaviourFlags= ::core::mem::transmute(__vi.method_ptr);
555                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
556                __inner(__receiver, __mi)
557            }
558        }
559    }
560    #[doc = "`.ctor()` overload"]
561    fn ctor(self) -> () {
562        unsafe {
563            let __receiver = <ResourceProviderBase as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
564            ::unity::il2cpp_call!(__ResourceProviderBase_unity_raw::__lookup_ctor::get_method_info().method_ptr,();
565(ResourceProviderBase)__receiver)
566        }
567    }
568}
569
570#[cfg(feature = "unity_engine-resource_management-resource_providers-resourceproviderbase")]
571impl<__T: IResourceProviderBase> IResourceProviderBaseMethods for __T {}
572
573#[cfg(feature = "unity_engine-resource_management-resource_providers-resourceproviderbase")]
574impl ResourceProviderBase {
575    pub fn get_provider_id_method_info() -> &'static ::unity::il2cpp::MethodInfo {
576        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
577    }
578
579    pub fn initialize_method_info() -> &'static ::unity::il2cpp::MethodInfo {
580        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
581    }
582
583    pub fn can_provide_method_info() -> &'static ::unity::il2cpp::MethodInfo {
584        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
585    }
586
587    pub fn to_string_method_info() -> &'static ::unity::il2cpp::MethodInfo {
588        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[3]
589    }
590
591    pub fn release_method_info() -> &'static ::unity::il2cpp::MethodInfo {
592        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[4]
593    }
594
595    pub fn get_default_type_method_info() -> &'static ::unity::il2cpp::MethodInfo {
596        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[5]
597    }
598
599    pub fn provide_method_info() -> &'static ::unity::il2cpp::MethodInfo {
600        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[6]
601    }
602
603    pub fn initialize_async_method_info() -> &'static ::unity::il2cpp::MethodInfo {
604        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[7]
605    }
606
607    pub fn unity_engine_resource_management_resource_providers_i_resource_provider_get_behaviour_flags_method_info(
608    ) -> &'static ::unity::il2cpp::MethodInfo {
609        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[8]
610    }
611
612    pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
613        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[9]
614    }
615}
616
617#[cfg(feature = "unity_engine-resource_management-resource_providers-resourceproviderbase")]
618impl ResourceProviderBase {
619    #[doc = "Direct (non-virtual) call to `ResourceProviderBase`'s own `get_ProviderId`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
620    pub unsafe fn get_provider_id(this: impl ::core::convert::Into<::unity::IlInstance>) -> ::unity::Il2CppString {
621        let __mi = Self::get_provider_id_method_info();
622        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> ::unity::Il2CppString = ::core::mem::transmute(__mi.method_ptr);
623        __inner(this.into(), ::core::option::Option::None)
624    }
625
626    #[doc = "Direct (non-virtual) call to `ResourceProviderBase`'s own `Initialize`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
627    pub unsafe fn initialize(this: impl ::core::convert::Into<::unity::IlInstance>, id: ::unity::Il2CppString, data: ::unity::Il2CppString) -> bool {
628        let __mi = Self::initialize_method_info();
629        let __inner: extern "C" fn(::unity::IlInstance, ::unity::Il2CppString, ::unity::Il2CppString, ::unity::OptionalMethod) -> bool =
630            ::core::mem::transmute(__mi.method_ptr);
631        __inner(this.into(), id, data, ::core::option::Option::None)
632    }
633
634    #[doc = "Direct (non-virtual) call to `ResourceProviderBase`'s own `CanProvide`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
635    pub unsafe fn can_provide(
636        this: impl ::core::convert::Into<::unity::IlInstance>,
637        t: ::unity::SystemType,
638        location: crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation,
639    ) -> bool {
640        let __mi = Self::can_provide_method_info();
641        let __inner: extern "C" fn(
642            ::unity::IlInstance,
643            ::unity::SystemType,
644            crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation,
645            ::unity::OptionalMethod,
646        ) -> bool = ::core::mem::transmute(__mi.method_ptr);
647        __inner(this.into(), t, location, ::core::option::Option::None)
648    }
649
650    #[doc = "Direct (non-virtual) call to `ResourceProviderBase`'s own `ToString`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
651    pub unsafe fn to_string(this: impl ::core::convert::Into<::unity::IlInstance>) -> ::unity::Il2CppString {
652        let __mi = Self::to_string_method_info();
653        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> ::unity::Il2CppString = ::core::mem::transmute(__mi.method_ptr);
654        __inner(this.into(), ::core::option::Option::None)
655    }
656
657    #[doc = "Direct (non-virtual) call to `ResourceProviderBase`'s own `Release`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
658    pub unsafe fn release(
659        this: impl ::core::convert::Into<::unity::IlInstance>,
660        location: crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation,
661        obj: crate::system::object::Object,
662    ) -> () {
663        let __mi = Self::release_method_info();
664        let __inner: extern "C" fn(
665            ::unity::IlInstance,
666            crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation,
667            crate::system::object::Object,
668            ::unity::OptionalMethod,
669        ) -> () = ::core::mem::transmute(__mi.method_ptr);
670        __inner(this.into(), location, obj, ::core::option::Option::None)
671    }
672
673    #[doc = "Direct (non-virtual) call to `ResourceProviderBase`'s own `GetDefaultType`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
674    pub unsafe fn get_default_type(
675        this: impl ::core::convert::Into<::unity::IlInstance>,
676        location: crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation,
677    ) -> ::unity::SystemType {
678        let __mi = Self::get_default_type_method_info();
679        let __inner: extern "C" fn(
680            ::unity::IlInstance,
681            crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation,
682            ::unity::OptionalMethod,
683        ) -> ::unity::SystemType = ::core::mem::transmute(__mi.method_ptr);
684        __inner(this.into(), location, ::core::option::Option::None)
685    }
686
687    #[doc = "Direct (non-virtual) call to `ResourceProviderBase`'s own `Provide`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
688    pub unsafe fn provide(
689        this: impl ::core::convert::Into<::unity::IlInstance>,
690        provide_handle: crate::unity_engine::resource_management::resource_providers::providehandle::ProvideHandle,
691    ) -> () {
692        let __mi = Self::provide_method_info();
693        let __inner: extern "C" fn(
694            ::unity::IlInstance,
695            crate::unity_engine::resource_management::resource_providers::providehandle::ProvideHandle,
696            ::unity::OptionalMethod,
697        ) -> () = ::core::mem::transmute(__mi.method_ptr);
698        __inner(this.into(), provide_handle, ::core::option::Option::None)
699    }
700
701    #[doc = "Direct (non-virtual) call to `ResourceProviderBase`'s own `InitializeAsync`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
702    pub unsafe fn initialize_async(
703        this: impl ::core::convert::Into<::unity::IlInstance>,
704        rm: crate::unity_engine::resource_management::resourcemanager::ResourceManager,
705        id: ::unity::Il2CppString,
706        data: ::unity::Il2CppString,
707    ) -> crate::unity_engine::resource_management::async_operations::asyncoperationhandle_1::AsyncOperationHandle_1<bool> {
708        let __mi = Self::initialize_async_method_info();
709        let __inner: extern "C" fn(
710            ::unity::IlInstance,
711            crate::unity_engine::resource_management::resourcemanager::ResourceManager,
712            ::unity::Il2CppString,
713            ::unity::Il2CppString,
714            ::unity::OptionalMethod,
715        )
716            -> crate::unity_engine::resource_management::async_operations::asyncoperationhandle_1::AsyncOperationHandle_1<
717            bool,
718        > = ::core::mem::transmute(__mi.method_ptr);
719        __inner(this.into(), rm, id, data, ::core::option::Option::None)
720    }
721
722    #[doc = "Direct (non-virtual) call to `ResourceProviderBase`'s own `UnityEngine.ResourceManagement.ResourceProviders.IResourceProvider.get_BehaviourFlags`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
723    pub unsafe fn unity_engine_resource_management_resource_providers_i_resource_provider_get_behaviour_flags(
724        this: impl ::core::convert::Into<::unity::IlInstance>,
725    ) -> crate::unity_engine::resource_management::resource_providers::providerbehaviourflags::ProviderBehaviourFlags {
726        let __mi = Self::unity_engine_resource_management_resource_providers_i_resource_provider_get_behaviour_flags_method_info();
727        let __inner: extern "C" fn(
728            ::unity::IlInstance,
729            ::unity::OptionalMethod,
730        )
731            -> crate::unity_engine::resource_management::resource_providers::providerbehaviourflags::ProviderBehaviourFlags =
732            ::core::mem::transmute(__mi.method_ptr);
733        __inner(this.into(), ::core::option::Option::None)
734    }
735}
736
737#[cfg(feature = "unity_engine-resource_management-resource_providers-resourceproviderbase")]
738impl ResourceProviderBase {
739    #[doc = "`.ctor()` — no args"]
740    pub fn new() -> Self {
741        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
742            panic!(
743                "{}
744::{}
745 failed to instantiate",
746                ::core::stringify!(ResourceProviderBase),
747                ::core::stringify!(new),
748            )
749        });
750        <Self as IResourceProviderBaseMethods>::ctor(this);
751        this
752    }
753}
754
755#[cfg(feature = "unity_engine-resource_management-resource_providers-resourceproviderbase")]
756#[doc(hidden)]
757pub mod prelude {
758    pub use super::{
759        IResourceProviderBase, IResourceProviderBaseMethods, IResourceProviderBase_BaseInitAsyncOp, IResourceProviderBase_BaseInitAsyncOpMethods,
760        ResourceProviderBase, ResourceProviderBase_BaseInitAsyncOp,
761    };
762    #[cfg(feature = "system-object")]
763    pub use crate::system::object::IObjectMethods;
764    #[cfg(feature = "unity_engine-resource_management-async_operations-asyncoperationbase_1")]
765    pub use crate::unity_engine::resource_management::async_operations::asyncoperationbase_1::IAsyncOperationBase_1Methods;
766    pub use crate::{system::object::IObject, unity_engine::resource_management::async_operations::asyncoperationbase_1::IAsyncOperationBase_1};
767}