Skip to main content

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

1// @generated by il2cpp-bindgen — do not edit by hand.
2
3#[cfg(feature = "unity_engine-resource_management-resource_providers-sceneprovider-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/sceneprovider/SceneProvider_SceneOp.md"))]
14    #[::unity::class(namespace = "UnityEngine.ResourceManagement.ResourceProviders", name = "SceneProvider.SceneOp")]
15    #[parent(crate::unity_engine::resource_management::async_operations::asyncoperationbase_1::AsyncOperationBase_1<crate::unity_engine::resource_management::resource_providers::sceneinstance::SceneInstance>)]
16    pub struct SceneProvider_SceneOp {
17        #[offset(144)]
18        #[rename(name = "m_ActivateOnLoad")]
19        pub m_activate_on_load: bool,
20        #[offset(152)]
21        #[rename(name = "m_Inst")]
22        pub m_inst: crate::unity_engine::resource_management::resource_providers::sceneinstance::SceneInstance,
23        #[offset(168)]
24        #[rename(name = "m_Location")]
25        pub m_location: crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation,
26        #[offset(176)]
27        #[rename(name = "m_LoadMode")]
28        pub m_load_mode: crate::unity_engine::scene_management::loadscenemode::LoadSceneMode,
29        #[offset(180)]
30        #[rename(name = "m_Priority")]
31        pub m_priority: i32,
32        #[offset(184)]
33        #[rename(name = "m_DepOp")]
34        pub m_dep_op: crate::unity_engine::resource_management::async_operations::asyncoperationhandle_1::AsyncOperationHandle_1<
35            crate::system::collections::generic::ilist_1_interface::IList_1_Interface<
36                crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle,
37            >,
38        >,
39        #[offset(208)]
40        #[rename(name = "m_ResourceManager")]
41        pub m_resource_manager: crate::unity_engine::resource_management::resourcemanager::ResourceManager,
42    }
43
44    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/unity_engine/resource_management/resource_providers/sceneprovider/SceneProvider.md"))]
45    #[::unity::class(namespace = "UnityEngine.ResourceManagement.ResourceProviders", name = "SceneProvider")]
46    #[parent(crate::system::object::Object)]
47    pub struct SceneProvider {}
48
49    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/unity_engine/resource_management/resource_providers/sceneprovider/SceneProvider_UnloadSceneOp.md"))]
50    #[::unity::class(namespace = "UnityEngine.ResourceManagement.ResourceProviders", name = "SceneProvider.UnloadSceneOp")]
51    #[parent(crate::unity_engine::resource_management::async_operations::asyncoperationbase_1::AsyncOperationBase_1<crate::unity_engine::resource_management::resource_providers::sceneinstance::SceneInstance>)]
52    pub struct SceneProvider_UnloadSceneOp {
53        #[offset(144)]
54        #[rename(name = "m_Instance")]
55        pub m_instance: crate::unity_engine::resource_management::resource_providers::sceneinstance::SceneInstance,
56        #[offset(160)]
57        #[rename(name = "m_sceneLoadHandle")]
58        pub m_scene_load_handle: crate::unity_engine::resource_management::async_operations::asyncoperationhandle_1::AsyncOperationHandle_1<
59            crate::unity_engine::resource_management::resource_providers::sceneinstance::SceneInstance,
60        >,
61    }
62}
63
64#[cfg(feature = "unity_engine-resource_management-resource_providers-sceneprovider-types")]
65pub use __types::*;
66
67#[cfg(feature = "unity_engine-resource_management-resource_providers-sceneprovider")]
68#[doc(hidden)]
69#[allow(non_snake_case, non_camel_case_types, clippy::too_many_arguments)]
70mod __SceneProvider_SceneOp_unity_raw {
71    use super::*;
72    #[doc(hidden)]
73    #[allow(non_snake_case)]
74    pub mod __lookup_ctor {
75        use super::*;
76        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
77            let param_types: &[&'static ::unity::il2cpp::Il2CppType] =
78                &[<crate::unity_engine::resource_management::resourcemanager::ResourceManager as ::unity::IlType>::il_type()];
79            ::unity::lookup::method_info_on_class_with_signature(
80                <SceneProvider_SceneOp as ::unity::ClassIdentity>::class(),
81                ".ctor",
82                1,
83                param_types,
84                false,
85            )
86        });
87        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
88            match &*METHOD {
89                ::core::result::Result::Ok(mi) => *mi,
90                ::core::result::Result::Err(e) => {
91                    panic!(
92                        "method lookup failed: {}
93::{}
94: {}
95",
96                        <SceneProvider_SceneOp as ::unity::ClassIdentity>::NAME,
97                        ".ctor",
98                        e
99                    )
100                },
101            }
102        }
103    }
104    #[doc(hidden)]
105    #[allow(non_snake_case)]
106    pub mod __lookup_init {
107        use super::*;
108        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
109            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[
110                <crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation as ::unity::IlType>::il_type(),
111                <crate::unity_engine::scene_management::loadscenemode::LoadSceneMode as ::unity::IlType>::il_type(),
112                <bool as ::unity::IlType>::il_type(),
113                <i32 as ::unity::IlType>::il_type(),
114                <crate::unity_engine::resource_management::async_operations::asyncoperationhandle_1::AsyncOperationHandle_1<
115                    crate::system::collections::generic::ilist_1_interface::IList_1_Interface<
116                        crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle,
117                    >,
118                > as ::unity::IlType>::il_type(),
119            ];
120            ::unity::lookup::method_info_on_class_with_signature(
121                <SceneProvider_SceneOp as ::unity::ClassIdentity>::class(),
122                "Init",
123                5,
124                param_types,
125                false,
126            )
127        });
128        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
129            match &*METHOD {
130                ::core::result::Result::Ok(mi) => *mi,
131                ::core::result::Result::Err(e) => {
132                    panic!(
133                        "method lookup failed: {}
134::{}
135: {}
136",
137                        <SceneProvider_SceneOp as ::unity::ClassIdentity>::NAME,
138                        "Init",
139                        e
140                    )
141                },
142            }
143        }
144    }
145    #[doc(hidden)]
146    #[allow(non_snake_case)]
147    pub mod __lookup_internal_load_scene {
148        use super::*;
149        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
150            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[
151                <crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation as ::unity::IlType>::il_type(),
152                <bool as ::unity::IlType>::il_type(),
153                <crate::unity_engine::scene_management::loadscenemode::LoadSceneMode as ::unity::IlType>::il_type(),
154                <bool as ::unity::IlType>::il_type(),
155                <i32 as ::unity::IlType>::il_type(),
156            ];
157            ::unity::lookup::method_info_on_class_with_signature(
158                <SceneProvider_SceneOp as ::unity::ClassIdentity>::class(),
159                "InternalLoadScene",
160                5,
161                param_types,
162                false,
163            )
164        });
165        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
166            match &*METHOD {
167                ::core::result::Result::Ok(mi) => *mi,
168                ::core::result::Result::Err(e) => {
169                    panic!(
170                        "method lookup failed: {}
171::{}
172: {}
173",
174                        <SceneProvider_SceneOp as ::unity::ClassIdentity>::NAME,
175                        "InternalLoadScene",
176                        e
177                    )
178                },
179            }
180        }
181    }
182    #[doc(hidden)]
183    #[allow(non_snake_case)]
184    pub mod __lookup_internal_load {
185        use super::*;
186        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
187            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[
188                <::unity::Il2CppString as ::unity::IlType>::il_type(),
189                <bool as ::unity::IlType>::il_type(),
190                <crate::unity_engine::scene_management::loadscenemode::LoadSceneMode as ::unity::IlType>::il_type(),
191            ];
192            ::unity::lookup::method_info_on_class_with_signature(
193                <SceneProvider_SceneOp as ::unity::ClassIdentity>::class(),
194                "InternalLoad",
195                3,
196                param_types,
197                false,
198            )
199        });
200        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
201            match &*METHOD {
202                ::core::result::Result::Ok(mi) => *mi,
203                ::core::result::Result::Err(e) => {
204                    panic!(
205                        "method lookup failed: {}
206::{}
207: {}
208",
209                        <SceneProvider_SceneOp as ::unity::ClassIdentity>::NAME,
210                        "InternalLoad",
211                        e
212                    )
213                },
214            }
215        }
216    }
217}
218
219#[cfg(feature = "unity_engine-resource_management-resource_providers-sceneprovider")]
220pub trait ISceneProvider_SceneOpMethods: ISceneProvider_SceneOp {
221    #[doc = "`.ctor(crate::unity_engine::resource_management::resourcemanager::ResourceManager)` overload"]
222    fn ctor(self, rm: impl ::core::convert::Into<crate::unity_engine::resource_management::resourcemanager::ResourceManager>) -> () {
223        unsafe {
224            let __receiver = <SceneProvider_SceneOp as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
225            ::unity::il2cpp_call!(__SceneProvider_SceneOp_unity_raw::__lookup_ctor::get_method_info().method_ptr,();
226(SceneProvider_SceneOp)__receiver,(crate::unity_engine::resource_management::resourcemanager::ResourceManager)::core::convert::Into::into(rm))
227        }
228    }
229    #[doc = "`GetDownloadStatus(crate::system::collections::generic::hashset_1::HashSet_1<crate::system::object::Object>)` overload"]
230    fn get_download_status(
231        self,
232        visited: impl ::core::convert::Into<crate::system::collections::generic::hashset_1::HashSet_1<crate::system::object::Object>>,
233    ) -> crate::unity_engine::resource_management::async_operations::downloadstatus::DownloadStatus {
234        unsafe {
235            let __receiver = <SceneProvider_SceneOp as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
236            {
237                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
238                let __vi = *__vt.get(35usize).unwrap_or_else(|| {
239                    panic!(
240                        "unity: virtual slot {}
241 out of range (vtable len {}
242) on the runtime class behind {}
243 (method `{}
244`)",
245                        35usize,
246                        __vt.len(),
247                        <SceneProvider_SceneOp as ::unity::ClassIdentity>::NAME,
248                        "GetDownloadStatus",
249                    )
250                });
251                let __inner: extern "C" fn(
252                    SceneProvider_SceneOp,
253                    crate::system::collections::generic::hashset_1::HashSet_1<crate::system::object::Object>,
254                    ::unity::OptionalMethod,
255                )
256                    -> crate::unity_engine::resource_management::async_operations::downloadstatus::DownloadStatus =
257                    ::core::mem::transmute(__vi.method_ptr);
258                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
259                __inner(__receiver, ::core::convert::Into::into(visited), __mi)
260            }
261        }
262    }
263    #[doc = "`Init(crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation, crate::unity_engine::scene_management::loadscenemode::LoadSceneMode, bool, i32, crate::unity_engine::resource_management::async_operations::asyncoperationhandle_1::AsyncOperationHandle_1<crate::system::collections::generic::ilist_1_interface::IList_1_Interface<crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle>>)` overload"]
264    fn init(
265        self,
266        location: impl ::core::convert::Into<crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation>,
267        load_mode: impl ::core::convert::Into<crate::unity_engine::scene_management::loadscenemode::LoadSceneMode>,
268        activate_on_load: impl ::core::convert::Into<bool>,
269        priority: impl ::core::convert::Into<i32>,
270        dep_op: impl ::core::convert::Into<
271            crate::unity_engine::resource_management::async_operations::asyncoperationhandle_1::AsyncOperationHandle_1<
272                crate::system::collections::generic::ilist_1_interface::IList_1_Interface<
273                    crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle,
274                >,
275            >,
276        >,
277    ) -> () {
278        unsafe {
279            let __receiver = <SceneProvider_SceneOp as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
280            ::unity::il2cpp_call!(__SceneProvider_SceneOp_unity_raw::__lookup_init::get_method_info().method_ptr,();
281(SceneProvider_SceneOp)__receiver,(crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation)::core::convert::Into::into(location),(crate::unity_engine::scene_management::loadscenemode::LoadSceneMode)::core::convert::Into::into(load_mode),(bool)::core::convert::Into::into(activate_on_load),(i32)::core::convert::Into::into(priority),(crate::unity_engine::resource_management::async_operations::asyncoperationhandle_1::AsyncOperationHandle_1<crate::system::collections::generic::ilist_1_interface::IList_1_Interface<crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle> >)::core::convert::Into::into(dep_op))
282        }
283    }
284    #[doc = "`InvokeWaitForCompletion()` overload"]
285    fn invoke_wait_for_completion(self) -> bool {
286        unsafe {
287            let __receiver = <SceneProvider_SceneOp as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
288            {
289                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
290                let __vi = *__vt.get(33usize).unwrap_or_else(|| {
291                    panic!(
292                        "unity: virtual slot {}
293 out of range (vtable len {}
294) on the runtime class behind {}
295 (method `{}
296`)",
297                        33usize,
298                        __vt.len(),
299                        <SceneProvider_SceneOp as ::unity::ClassIdentity>::NAME,
300                        "InvokeWaitForCompletion",
301                    )
302                });
303                let __inner: extern "C" fn(SceneProvider_SceneOp, ::unity::OptionalMethod) -> bool = ::core::mem::transmute(__vi.method_ptr);
304                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
305                __inner(__receiver, __mi)
306            }
307        }
308    }
309    #[doc = "`GetDependencies(crate::system::collections::generic::list_1::List_1<crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle>)` overload"]
310    fn get_dependencies(
311        self,
312        deps: impl ::core::convert::Into<
313            crate::system::collections::generic::list_1::List_1<
314                crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle,
315            >,
316        >,
317    ) -> () {
318        unsafe {
319            let __receiver = <SceneProvider_SceneOp as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
320            {
321                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
322                let __vi = *__vt.get(32usize).unwrap_or_else(|| {
323                    panic!(
324                        "unity: virtual slot {}
325 out of range (vtable len {}
326) on the runtime class behind {}
327 (method `{}
328`)",
329                        32usize,
330                        __vt.len(),
331                        <SceneProvider_SceneOp as ::unity::ClassIdentity>::NAME,
332                        "GetDependencies",
333                    )
334                });
335                let __inner: extern "C" fn(
336                    SceneProvider_SceneOp,
337                    crate::system::collections::generic::list_1::List_1<
338                        crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle,
339                    >,
340                    ::unity::OptionalMethod,
341                ) -> () = ::core::mem::transmute(__vi.method_ptr);
342                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
343                __inner(__receiver, ::core::convert::Into::into(deps), __mi)
344            }
345        }
346    }
347    #[doc = "`get_DebugName()` overload"]
348    fn get_debug_name(self) -> ::unity::Il2CppString {
349        unsafe {
350            let __receiver = <SceneProvider_SceneOp as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
351            {
352                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
353                let __vi = *__vt.get(31usize).unwrap_or_else(|| {
354                    panic!(
355                        "unity: virtual slot {}
356 out of range (vtable len {}
357) on the runtime class behind {}
358 (method `{}
359`)",
360                        31usize,
361                        __vt.len(),
362                        <SceneProvider_SceneOp as ::unity::ClassIdentity>::NAME,
363                        "get_DebugName",
364                    )
365                });
366                let __inner: extern "C" fn(SceneProvider_SceneOp, ::unity::OptionalMethod) -> ::unity::Il2CppString =
367                    ::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, __mi)
370            }
371        }
372    }
373    #[doc = "`Execute()` overload"]
374    fn execute(self) -> () {
375        unsafe {
376            let __receiver = <SceneProvider_SceneOp 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(28usize).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                        28usize,
387                        __vt.len(),
388                        <SceneProvider_SceneOp as ::unity::ClassIdentity>::NAME,
389                        "Execute",
390                    )
391                });
392                let __inner: extern "C" fn(SceneProvider_SceneOp, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
393                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
394                __inner(__receiver, __mi)
395            }
396        }
397    }
398    #[doc = "`InternalLoadScene(crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation, bool, crate::unity_engine::scene_management::loadscenemode::LoadSceneMode, bool, i32)` overload"]
399    fn internal_load_scene(
400        self,
401        location: impl ::core::convert::Into<crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation>,
402        loading_from_bundle: impl ::core::convert::Into<bool>,
403        load_mode: impl ::core::convert::Into<crate::unity_engine::scene_management::loadscenemode::LoadSceneMode>,
404        activate_on_load: impl ::core::convert::Into<bool>,
405        priority: impl ::core::convert::Into<i32>,
406    ) -> crate::unity_engine::resource_management::resource_providers::sceneinstance::SceneInstance {
407        unsafe {
408            let __receiver = <SceneProvider_SceneOp as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
409            ::unity::il2cpp_call!(__SceneProvider_SceneOp_unity_raw::__lookup_internal_load_scene::get_method_info().method_ptr,crate::unity_engine::resource_management::resource_providers::sceneinstance::SceneInstance;
410(SceneProvider_SceneOp)__receiver,(crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation)::core::convert::Into::into(location),(bool)::core::convert::Into::into(loading_from_bundle),(crate::unity_engine::scene_management::loadscenemode::LoadSceneMode)::core::convert::Into::into(load_mode),(bool)::core::convert::Into::into(activate_on_load),(i32)::core::convert::Into::into(priority))
411        }
412    }
413    #[doc = "`InternalLoad(::unity::Il2CppString, bool, crate::unity_engine::scene_management::loadscenemode::LoadSceneMode)` overload"]
414    fn internal_load(
415        self,
416        path: impl ::core::convert::Into<::unity::Il2CppString>,
417        loading_from_bundle: impl ::core::convert::Into<bool>,
418        mode: impl ::core::convert::Into<crate::unity_engine::scene_management::loadscenemode::LoadSceneMode>,
419    ) -> crate::unity_engine::asyncoperation::AsyncOperation {
420        unsafe {
421            let __receiver = <SceneProvider_SceneOp as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
422            ::unity::il2cpp_call!(__SceneProvider_SceneOp_unity_raw::__lookup_internal_load::get_method_info().method_ptr,crate::unity_engine::asyncoperation::AsyncOperation;
423(SceneProvider_SceneOp)__receiver,(::unity::Il2CppString)::core::convert::Into::into(path),(bool)::core::convert::Into::into(loading_from_bundle),(crate::unity_engine::scene_management::loadscenemode::LoadSceneMode)::core::convert::Into::into(mode))
424        }
425    }
426    #[doc = "`Destroy()` overload"]
427    fn destroy(self) -> () {
428        unsafe {
429            let __receiver = <SceneProvider_SceneOp as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
430            {
431                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
432                let __vi = *__vt.get(29usize).unwrap_or_else(|| {
433                    panic!(
434                        "unity: virtual slot {}
435 out of range (vtable len {}
436) on the runtime class behind {}
437 (method `{}
438`)",
439                        29usize,
440                        __vt.len(),
441                        <SceneProvider_SceneOp as ::unity::ClassIdentity>::NAME,
442                        "Destroy",
443                    )
444                });
445                let __inner: extern "C" fn(SceneProvider_SceneOp, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
446                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
447                __inner(__receiver, __mi)
448            }
449        }
450    }
451    #[doc = "`get_Progress()` overload"]
452    fn get_progress(self) -> f32 {
453        unsafe {
454            let __receiver = <SceneProvider_SceneOp as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
455            {
456                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
457                let __vi = *__vt.get(30usize).unwrap_or_else(|| {
458                    panic!(
459                        "unity: virtual slot {}
460 out of range (vtable len {}
461) on the runtime class behind {}
462 (method `{}
463`)",
464                        30usize,
465                        __vt.len(),
466                        <SceneProvider_SceneOp as ::unity::ClassIdentity>::NAME,
467                        "get_Progress",
468                    )
469                });
470                let __inner: extern "C" fn(SceneProvider_SceneOp, ::unity::OptionalMethod) -> f32 = ::core::mem::transmute(__vi.method_ptr);
471                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
472                __inner(__receiver, __mi)
473            }
474        }
475    }
476    #[doc = "`UnityEngine.ResourceManagement.IUpdateReceiver.Update(f32)` overload"]
477    fn unity_engine_resource_management_i_update_receiver_update(self, unscaled_delta_time: impl ::core::convert::Into<f32>) -> () {
478        unsafe {
479            let __receiver = <SceneProvider_SceneOp as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
480            {
481                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
482                let __vi = *__vt.get(36usize).unwrap_or_else(|| {
483                    panic!(
484                        "unity: virtual slot {}
485 out of range (vtable len {}
486) on the runtime class behind {}
487 (method `{}
488`)",
489                        36usize,
490                        __vt.len(),
491                        <SceneProvider_SceneOp as ::unity::ClassIdentity>::NAME,
492                        "UnityEngine.ResourceManagement.IUpdateReceiver.Update",
493                    )
494                });
495                let __inner: extern "C" fn(SceneProvider_SceneOp, f32, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
496                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
497                __inner(__receiver, ::core::convert::Into::into(unscaled_delta_time), __mi)
498            }
499        }
500    }
501}
502
503#[cfg(feature = "unity_engine-resource_management-resource_providers-sceneprovider")]
504impl<__T: ISceneProvider_SceneOp> ISceneProvider_SceneOpMethods for __T {}
505
506#[cfg(feature = "unity_engine-resource_management-resource_providers-sceneprovider")]
507impl SceneProvider_SceneOp {
508    pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
509        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
510    }
511
512    pub fn get_download_status_method_info() -> &'static ::unity::il2cpp::MethodInfo {
513        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
514    }
515
516    pub fn init_method_info() -> &'static ::unity::il2cpp::MethodInfo {
517        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
518    }
519
520    pub fn invoke_wait_for_completion_method_info() -> &'static ::unity::il2cpp::MethodInfo {
521        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[3]
522    }
523
524    pub fn get_dependencies_method_info() -> &'static ::unity::il2cpp::MethodInfo {
525        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[4]
526    }
527
528    pub fn get_debug_name_method_info() -> &'static ::unity::il2cpp::MethodInfo {
529        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[5]
530    }
531
532    pub fn execute_method_info() -> &'static ::unity::il2cpp::MethodInfo {
533        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[6]
534    }
535
536    pub fn internal_load_scene_method_info() -> &'static ::unity::il2cpp::MethodInfo {
537        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[7]
538    }
539
540    pub fn internal_load_method_info() -> &'static ::unity::il2cpp::MethodInfo {
541        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[8]
542    }
543
544    pub fn destroy_method_info() -> &'static ::unity::il2cpp::MethodInfo {
545        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[9]
546    }
547
548    pub fn get_progress_method_info() -> &'static ::unity::il2cpp::MethodInfo {
549        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[10]
550    }
551
552    pub fn unity_engine_resource_management_i_update_receiver_update_method_info() -> &'static ::unity::il2cpp::MethodInfo {
553        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[11]
554    }
555}
556
557#[cfg(feature = "unity_engine-resource_management-resource_providers-sceneprovider")]
558impl SceneProvider_SceneOp {
559    #[doc = "Direct (non-virtual) call to `SceneProvider_SceneOp`'s own `GetDownloadStatus`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
560    pub unsafe fn get_download_status(
561        this: impl ::core::convert::Into<::unity::IlInstance>,
562        visited: crate::system::collections::generic::hashset_1::HashSet_1<crate::system::object::Object>,
563    ) -> crate::unity_engine::resource_management::async_operations::downloadstatus::DownloadStatus {
564        let __mi = Self::get_download_status_method_info();
565        let __inner: extern "C" fn(
566            ::unity::IlInstance,
567            crate::system::collections::generic::hashset_1::HashSet_1<crate::system::object::Object>,
568            ::unity::OptionalMethod,
569        ) -> crate::unity_engine::resource_management::async_operations::downloadstatus::DownloadStatus = ::core::mem::transmute(__mi.method_ptr);
570        __inner(this.into(), visited, ::core::option::Option::None)
571    }
572
573    #[doc = "Direct (non-virtual) call to `SceneProvider_SceneOp`'s own `InvokeWaitForCompletion`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
574    pub unsafe fn invoke_wait_for_completion(this: impl ::core::convert::Into<::unity::IlInstance>) -> bool {
575        let __mi = Self::invoke_wait_for_completion_method_info();
576        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> bool = ::core::mem::transmute(__mi.method_ptr);
577        __inner(this.into(), ::core::option::Option::None)
578    }
579
580    #[doc = "Direct (non-virtual) call to `SceneProvider_SceneOp`'s own `GetDependencies`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
581    pub unsafe fn get_dependencies(
582        this: impl ::core::convert::Into<::unity::IlInstance>,
583        deps: crate::system::collections::generic::list_1::List_1<
584            crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle,
585        >,
586    ) -> () {
587        let __mi = Self::get_dependencies_method_info();
588        let __inner: extern "C" fn(
589            ::unity::IlInstance,
590            crate::system::collections::generic::list_1::List_1<
591                crate::unity_engine::resource_management::async_operations::asyncoperationhandle::AsyncOperationHandle,
592            >,
593            ::unity::OptionalMethod,
594        ) -> () = ::core::mem::transmute(__mi.method_ptr);
595        __inner(this.into(), deps, ::core::option::Option::None)
596    }
597
598    #[doc = "Direct (non-virtual) call to `SceneProvider_SceneOp`'s own `get_DebugName`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
599    pub unsafe fn get_debug_name(this: impl ::core::convert::Into<::unity::IlInstance>) -> ::unity::Il2CppString {
600        let __mi = Self::get_debug_name_method_info();
601        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> ::unity::Il2CppString = ::core::mem::transmute(__mi.method_ptr);
602        __inner(this.into(), ::core::option::Option::None)
603    }
604
605    #[doc = "Direct (non-virtual) call to `SceneProvider_SceneOp`'s own `Execute`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
606    pub unsafe fn execute(this: impl ::core::convert::Into<::unity::IlInstance>) -> () {
607        let __mi = Self::execute_method_info();
608        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
609        __inner(this.into(), ::core::option::Option::None)
610    }
611
612    #[doc = "Direct (non-virtual) call to `SceneProvider_SceneOp`'s own `Destroy`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
613    pub unsafe fn destroy(this: impl ::core::convert::Into<::unity::IlInstance>) -> () {
614        let __mi = Self::destroy_method_info();
615        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
616        __inner(this.into(), ::core::option::Option::None)
617    }
618
619    #[doc = "Direct (non-virtual) call to `SceneProvider_SceneOp`'s own `get_Progress`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
620    pub unsafe fn get_progress(this: impl ::core::convert::Into<::unity::IlInstance>) -> f32 {
621        let __mi = Self::get_progress_method_info();
622        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> f32 = ::core::mem::transmute(__mi.method_ptr);
623        __inner(this.into(), ::core::option::Option::None)
624    }
625
626    #[doc = "Direct (non-virtual) call to `SceneProvider_SceneOp`'s own `UnityEngine.ResourceManagement.IUpdateReceiver.Update`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
627    pub unsafe fn unity_engine_resource_management_i_update_receiver_update(
628        this: impl ::core::convert::Into<::unity::IlInstance>,
629        unscaled_delta_time: f32,
630    ) -> () {
631        let __mi = Self::unity_engine_resource_management_i_update_receiver_update_method_info();
632        let __inner: extern "C" fn(::unity::IlInstance, f32, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
633        __inner(this.into(), unscaled_delta_time, ::core::option::Option::None)
634    }
635}
636
637#[cfg(feature = "unity_engine-resource_management-resource_providers-sceneprovider")]
638impl SceneProvider_SceneOp {
639    #[doc = "`.ctor(crate::unity_engine::resource_management::resourcemanager::ResourceManager)` — overload selector"]
640    pub fn new(rm: crate::unity_engine::resource_management::resourcemanager::ResourceManager) -> Self {
641        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
642            panic!(
643                "{}
644::{}
645 failed to instantiate",
646                ::core::stringify!(SceneProvider_SceneOp),
647                ::core::stringify!(new),
648            )
649        });
650        <Self as ISceneProvider_SceneOpMethods>::ctor(this, rm);
651        this
652    }
653}
654
655#[cfg(feature = "unity_engine-resource_management-resource_providers-sceneprovider")]
656#[doc(hidden)]
657#[allow(non_snake_case, non_camel_case_types, clippy::too_many_arguments)]
658mod __SceneProvider_unity_raw {
659    use super::*;
660    #[doc(hidden)]
661    #[allow(non_snake_case)]
662    pub mod __lookup_ctor {
663        use super::*;
664        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
665            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[];
666            ::unity::lookup::method_info_on_class_with_signature(<SceneProvider as ::unity::ClassIdentity>::class(), ".ctor", 0, param_types, false)
667        });
668        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
669            match &*METHOD {
670                ::core::result::Result::Ok(mi) => *mi,
671                ::core::result::Result::Err(e) => {
672                    panic!(
673                        "method lookup failed: {}
674::{}
675: {}
676",
677                        <SceneProvider as ::unity::ClassIdentity>::NAME,
678                        ".ctor",
679                        e
680                    )
681                },
682            }
683        }
684    }
685}
686
687#[cfg(feature = "unity_engine-resource_management-resource_providers-sceneprovider")]
688pub trait ISceneProviderMethods: ISceneProvider {
689    #[doc = "`ProvideScene(crate::unity_engine::resource_management::resourcemanager::ResourceManager, crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation, crate::unity_engine::scene_management::loadscenemode::LoadSceneMode, bool, i32)` overload"]
690    fn provide_scene(
691        self,
692        resource_manager: impl ::core::convert::Into<crate::unity_engine::resource_management::resourcemanager::ResourceManager>,
693        location: impl ::core::convert::Into<crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation>,
694        load_mode: impl ::core::convert::Into<crate::unity_engine::scene_management::loadscenemode::LoadSceneMode>,
695        activate_on_load: impl ::core::convert::Into<bool>,
696        priority: impl ::core::convert::Into<i32>,
697    ) -> crate::unity_engine::resource_management::async_operations::asyncoperationhandle_1::AsyncOperationHandle_1<
698        crate::unity_engine::resource_management::resource_providers::sceneinstance::SceneInstance,
699    > {
700        unsafe {
701            let __receiver = <SceneProvider as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
702            {
703                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
704                let __vi = *__vt.get(4usize).unwrap_or_else(|| {
705                    panic!(
706                        "unity: virtual slot {}
707 out of range (vtable len {}
708) on the runtime class behind {}
709 (method `{}
710`)",
711                        4usize,
712                        __vt.len(),
713                        <SceneProvider as ::unity::ClassIdentity>::NAME,
714                        "ProvideScene",
715                    )
716                });
717                let __inner:extern "C" fn(SceneProvider,crate::unity_engine::resource_management::resourcemanager::ResourceManager,crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation,crate::unity_engine::scene_management::loadscenemode::LoadSceneMode,bool,i32, ::unity::OptionalMethod,)->crate::unity_engine::resource_management::async_operations::asyncoperationhandle_1::AsyncOperationHandle_1<crate::unity_engine::resource_management::resource_providers::sceneinstance::SceneInstance> = ::core::mem::transmute(__vi.method_ptr);
718                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
719                __inner(
720                    __receiver,
721                    ::core::convert::Into::into(resource_manager),
722                    ::core::convert::Into::into(location),
723                    ::core::convert::Into::into(load_mode),
724                    ::core::convert::Into::into(activate_on_load),
725                    ::core::convert::Into::into(priority),
726                    __mi,
727                )
728            }
729        }
730    }
731    #[doc = "`ReleaseScene(crate::unity_engine::resource_management::resourcemanager::ResourceManager, crate::unity_engine::resource_management::async_operations::asyncoperationhandle_1::AsyncOperationHandle_1<crate::unity_engine::resource_management::resource_providers::sceneinstance::SceneInstance>)` overload"]
732    fn release_scene(
733        self,
734        resource_manager: impl ::core::convert::Into<crate::unity_engine::resource_management::resourcemanager::ResourceManager>,
735        scene_load_handle: impl ::core::convert::Into<
736            crate::unity_engine::resource_management::async_operations::asyncoperationhandle_1::AsyncOperationHandle_1<
737                crate::unity_engine::resource_management::resource_providers::sceneinstance::SceneInstance,
738            >,
739        >,
740    ) -> crate::unity_engine::resource_management::async_operations::asyncoperationhandle_1::AsyncOperationHandle_1<
741        crate::unity_engine::resource_management::resource_providers::sceneinstance::SceneInstance,
742    > {
743        unsafe {
744            let __receiver = <SceneProvider as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
745            {
746                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
747                let __vi = *__vt.get(5usize).unwrap_or_else(|| {
748                    panic!(
749                        "unity: virtual slot {}
750 out of range (vtable len {}
751) on the runtime class behind {}
752 (method `{}
753`)",
754                        5usize,
755                        __vt.len(),
756                        <SceneProvider as ::unity::ClassIdentity>::NAME,
757                        "ReleaseScene",
758                    )
759                });
760                let __inner:extern "C" fn(SceneProvider,crate::unity_engine::resource_management::resourcemanager::ResourceManager,crate::unity_engine::resource_management::async_operations::asyncoperationhandle_1::AsyncOperationHandle_1<crate::unity_engine::resource_management::resource_providers::sceneinstance::SceneInstance> , ::unity::OptionalMethod,)->crate::unity_engine::resource_management::async_operations::asyncoperationhandle_1::AsyncOperationHandle_1<crate::unity_engine::resource_management::resource_providers::sceneinstance::SceneInstance> = ::core::mem::transmute(__vi.method_ptr);
761                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
762                __inner(
763                    __receiver,
764                    ::core::convert::Into::into(resource_manager),
765                    ::core::convert::Into::into(scene_load_handle),
766                    __mi,
767                )
768            }
769        }
770    }
771    #[doc = "`.ctor()` overload"]
772    fn ctor(self) -> () {
773        unsafe {
774            let __receiver = <SceneProvider as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
775            ::unity::il2cpp_call!(__SceneProvider_unity_raw::__lookup_ctor::get_method_info().method_ptr,();
776(SceneProvider)__receiver)
777        }
778    }
779}
780
781#[cfg(feature = "unity_engine-resource_management-resource_providers-sceneprovider")]
782impl<__T: ISceneProvider> ISceneProviderMethods for __T {}
783
784#[cfg(feature = "unity_engine-resource_management-resource_providers-sceneprovider")]
785impl SceneProvider {
786    pub fn provide_scene_method_info() -> &'static ::unity::il2cpp::MethodInfo {
787        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
788    }
789
790    pub fn release_scene_method_info() -> &'static ::unity::il2cpp::MethodInfo {
791        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
792    }
793
794    pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
795        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
796    }
797}
798
799#[cfg(feature = "unity_engine-resource_management-resource_providers-sceneprovider")]
800impl SceneProvider {
801    #[doc = "Direct (non-virtual) call to `SceneProvider`'s own `ProvideScene`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
802    pub unsafe fn provide_scene(
803        this: impl ::core::convert::Into<::unity::IlInstance>,
804        resource_manager: crate::unity_engine::resource_management::resourcemanager::ResourceManager,
805        location: crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation,
806        load_mode: crate::unity_engine::scene_management::loadscenemode::LoadSceneMode,
807        activate_on_load: bool,
808        priority: i32,
809    ) -> crate::unity_engine::resource_management::async_operations::asyncoperationhandle_1::AsyncOperationHandle_1<
810        crate::unity_engine::resource_management::resource_providers::sceneinstance::SceneInstance,
811    > {
812        let __mi = Self::provide_scene_method_info();
813        let __inner: extern "C" fn(
814            ::unity::IlInstance,
815            crate::unity_engine::resource_management::resourcemanager::ResourceManager,
816            crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation,
817            crate::unity_engine::scene_management::loadscenemode::LoadSceneMode,
818            bool,
819            i32,
820            ::unity::OptionalMethod,
821        )
822            -> crate::unity_engine::resource_management::async_operations::asyncoperationhandle_1::AsyncOperationHandle_1<
823            crate::unity_engine::resource_management::resource_providers::sceneinstance::SceneInstance,
824        > = ::core::mem::transmute(__mi.method_ptr);
825        __inner(
826            this.into(),
827            resource_manager,
828            location,
829            load_mode,
830            activate_on_load,
831            priority,
832            ::core::option::Option::None,
833        )
834    }
835
836    #[doc = "Direct (non-virtual) call to `SceneProvider`'s own `ReleaseScene`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
837    pub unsafe fn release_scene(
838        this: impl ::core::convert::Into<::unity::IlInstance>,
839        resource_manager: crate::unity_engine::resource_management::resourcemanager::ResourceManager,
840        scene_load_handle: crate::unity_engine::resource_management::async_operations::asyncoperationhandle_1::AsyncOperationHandle_1<
841            crate::unity_engine::resource_management::resource_providers::sceneinstance::SceneInstance,
842        >,
843    ) -> crate::unity_engine::resource_management::async_operations::asyncoperationhandle_1::AsyncOperationHandle_1<
844        crate::unity_engine::resource_management::resource_providers::sceneinstance::SceneInstance,
845    > {
846        let __mi = Self::release_scene_method_info();
847        let __inner: extern "C" fn(
848            ::unity::IlInstance,
849            crate::unity_engine::resource_management::resourcemanager::ResourceManager,
850            crate::unity_engine::resource_management::async_operations::asyncoperationhandle_1::AsyncOperationHandle_1<
851                crate::unity_engine::resource_management::resource_providers::sceneinstance::SceneInstance,
852            >,
853            ::unity::OptionalMethod,
854        )
855            -> crate::unity_engine::resource_management::async_operations::asyncoperationhandle_1::AsyncOperationHandle_1<
856            crate::unity_engine::resource_management::resource_providers::sceneinstance::SceneInstance,
857        > = ::core::mem::transmute(__mi.method_ptr);
858        __inner(this.into(), resource_manager, scene_load_handle, ::core::option::Option::None)
859    }
860}
861
862#[cfg(feature = "unity_engine-resource_management-resource_providers-sceneprovider")]
863impl SceneProvider {
864    #[doc = "`.ctor()` — no args"]
865    pub fn new() -> Self {
866        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
867            panic!(
868                "{}
869::{}
870 failed to instantiate",
871                ::core::stringify!(SceneProvider),
872                ::core::stringify!(new),
873            )
874        });
875        <Self as ISceneProviderMethods>::ctor(this);
876        this
877    }
878}
879
880#[cfg(feature = "unity_engine-resource_management-resource_providers-sceneprovider")]
881#[doc(hidden)]
882#[allow(non_snake_case, non_camel_case_types, clippy::too_many_arguments)]
883mod __SceneProvider_UnloadSceneOp_unity_raw {
884    use super::*;
885    #[doc(hidden)]
886    #[allow(non_snake_case)]
887    pub mod __lookup_init {
888        use super::*;
889        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
890            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[
891                <crate::unity_engine::resource_management::async_operations::asyncoperationhandle_1::AsyncOperationHandle_1<
892                    crate::unity_engine::resource_management::resource_providers::sceneinstance::SceneInstance,
893                > as ::unity::IlType>::il_type(),
894            ];
895            ::unity::lookup::method_info_on_class_with_signature(
896                <SceneProvider_UnloadSceneOp as ::unity::ClassIdentity>::class(),
897                "Init",
898                1,
899                param_types,
900                false,
901            )
902        });
903        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
904            match &*METHOD {
905                ::core::result::Result::Ok(mi) => *mi,
906                ::core::result::Result::Err(e) => {
907                    panic!(
908                        "method lookup failed: {}
909::{}
910: {}
911",
912                        <SceneProvider_UnloadSceneOp as ::unity::ClassIdentity>::NAME,
913                        "Init",
914                        e
915                    )
916                },
917            }
918        }
919    }
920    #[doc(hidden)]
921    #[allow(non_snake_case)]
922    pub mod __lookup_unload_scene_completed {
923        use super::*;
924        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
925            let param_types: &[&'static ::unity::il2cpp::Il2CppType] =
926                &[<crate::unity_engine::asyncoperation::AsyncOperation as ::unity::IlType>::il_type()];
927            ::unity::lookup::method_info_on_class_with_signature(
928                <SceneProvider_UnloadSceneOp as ::unity::ClassIdentity>::class(),
929                "UnloadSceneCompleted",
930                1,
931                param_types,
932                false,
933            )
934        });
935        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
936            match &*METHOD {
937                ::core::result::Result::Ok(mi) => *mi,
938                ::core::result::Result::Err(e) => {
939                    panic!(
940                        "method lookup failed: {}
941::{}
942: {}
943",
944                        <SceneProvider_UnloadSceneOp as ::unity::ClassIdentity>::NAME,
945                        "UnloadSceneCompleted",
946                        e
947                    )
948                },
949            }
950        }
951    }
952    #[doc(hidden)]
953    #[allow(non_snake_case)]
954    pub mod __lookup_unload_scene_completed_no_release {
955        use super::*;
956        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
957            let param_types: &[&'static ::unity::il2cpp::Il2CppType] =
958                &[<crate::unity_engine::asyncoperation::AsyncOperation as ::unity::IlType>::il_type()];
959            ::unity::lookup::method_info_on_class_with_signature(
960                <SceneProvider_UnloadSceneOp as ::unity::ClassIdentity>::class(),
961                "UnloadSceneCompletedNoRelease",
962                1,
963                param_types,
964                false,
965            )
966        });
967        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
968            match &*METHOD {
969                ::core::result::Result::Ok(mi) => *mi,
970                ::core::result::Result::Err(e) => {
971                    panic!(
972                        "method lookup failed: {}
973::{}
974: {}
975",
976                        <SceneProvider_UnloadSceneOp as ::unity::ClassIdentity>::NAME,
977                        "UnloadSceneCompletedNoRelease",
978                        e
979                    )
980                },
981            }
982        }
983    }
984    #[doc(hidden)]
985    #[allow(non_snake_case)]
986    pub mod __lookup_ctor {
987        use super::*;
988        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
989            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[];
990            ::unity::lookup::method_info_on_class_with_signature(
991                <SceneProvider_UnloadSceneOp as ::unity::ClassIdentity>::class(),
992                ".ctor",
993                0,
994                param_types,
995                false,
996            )
997        });
998        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
999            match &*METHOD {
1000                ::core::result::Result::Ok(mi) => *mi,
1001                ::core::result::Result::Err(e) => {
1002                    panic!(
1003                        "method lookup failed: {}
1004::{}
1005: {}
1006",
1007                        <SceneProvider_UnloadSceneOp as ::unity::ClassIdentity>::NAME,
1008                        ".ctor",
1009                        e
1010                    )
1011                },
1012            }
1013        }
1014    }
1015}
1016
1017#[cfg(feature = "unity_engine-resource_management-resource_providers-sceneprovider")]
1018pub trait ISceneProvider_UnloadSceneOpMethods: ISceneProvider_UnloadSceneOp {
1019    #[doc = "`Init(crate::unity_engine::resource_management::async_operations::asyncoperationhandle_1::AsyncOperationHandle_1<crate::unity_engine::resource_management::resource_providers::sceneinstance::SceneInstance>)` overload"]
1020    fn init(
1021        self,
1022        scene_load_handle: impl ::core::convert::Into<
1023            crate::unity_engine::resource_management::async_operations::asyncoperationhandle_1::AsyncOperationHandle_1<
1024                crate::unity_engine::resource_management::resource_providers::sceneinstance::SceneInstance,
1025            >,
1026        >,
1027    ) -> () {
1028        unsafe {
1029            let __receiver =
1030                <SceneProvider_UnloadSceneOp as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1031            ::unity::il2cpp_call!(__SceneProvider_UnloadSceneOp_unity_raw::__lookup_init::get_method_info().method_ptr,();
1032(SceneProvider_UnloadSceneOp)__receiver,(crate::unity_engine::resource_management::async_operations::asyncoperationhandle_1::AsyncOperationHandle_1<crate::unity_engine::resource_management::resource_providers::sceneinstance::SceneInstance>)::core::convert::Into::into(scene_load_handle))
1033        }
1034    }
1035    #[doc = "`Execute()` overload"]
1036    fn execute(self) -> () {
1037        unsafe {
1038            let __receiver =
1039                <SceneProvider_UnloadSceneOp as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1040            {
1041                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
1042                let __vi = *__vt.get(28usize).unwrap_or_else(|| {
1043                    panic!(
1044                        "unity: virtual slot {}
1045 out of range (vtable len {}
1046) on the runtime class behind {}
1047 (method `{}
1048`)",
1049                        28usize,
1050                        __vt.len(),
1051                        <SceneProvider_UnloadSceneOp as ::unity::ClassIdentity>::NAME,
1052                        "Execute",
1053                    )
1054                });
1055                let __inner: extern "C" fn(SceneProvider_UnloadSceneOp, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
1056                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
1057                __inner(__receiver, __mi)
1058            }
1059        }
1060    }
1061    #[doc = "`InvokeWaitForCompletion()` overload"]
1062    fn invoke_wait_for_completion(self) -> bool {
1063        unsafe {
1064            let __receiver =
1065                <SceneProvider_UnloadSceneOp as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1066            {
1067                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
1068                let __vi = *__vt.get(33usize).unwrap_or_else(|| {
1069                    panic!(
1070                        "unity: virtual slot {}
1071 out of range (vtable len {}
1072) on the runtime class behind {}
1073 (method `{}
1074`)",
1075                        33usize,
1076                        __vt.len(),
1077                        <SceneProvider_UnloadSceneOp as ::unity::ClassIdentity>::NAME,
1078                        "InvokeWaitForCompletion",
1079                    )
1080                });
1081                let __inner: extern "C" fn(SceneProvider_UnloadSceneOp, ::unity::OptionalMethod) -> bool = ::core::mem::transmute(__vi.method_ptr);
1082                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
1083                __inner(__receiver, __mi)
1084            }
1085        }
1086    }
1087    #[doc = "`UnloadSceneCompleted(crate::unity_engine::asyncoperation::AsyncOperation)` overload"]
1088    fn unload_scene_completed(self, obj: impl ::core::convert::Into<crate::unity_engine::asyncoperation::AsyncOperation>) -> () {
1089        unsafe {
1090            let __receiver =
1091                <SceneProvider_UnloadSceneOp as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1092            ::unity::il2cpp_call!(__SceneProvider_UnloadSceneOp_unity_raw::__lookup_unload_scene_completed::get_method_info().method_ptr,();
1093(SceneProvider_UnloadSceneOp)__receiver,(crate::unity_engine::asyncoperation::AsyncOperation)::core::convert::Into::into(obj))
1094        }
1095    }
1096    #[doc = "`UnloadSceneCompletedNoRelease(crate::unity_engine::asyncoperation::AsyncOperation)` overload"]
1097    fn unload_scene_completed_no_release(self, obj: impl ::core::convert::Into<crate::unity_engine::asyncoperation::AsyncOperation>) -> () {
1098        unsafe {
1099            let __receiver =
1100                <SceneProvider_UnloadSceneOp as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1101            ::unity::il2cpp_call!(__SceneProvider_UnloadSceneOp_unity_raw::__lookup_unload_scene_completed_no_release::get_method_info().method_ptr,();
1102(SceneProvider_UnloadSceneOp)__receiver,(crate::unity_engine::asyncoperation::AsyncOperation)::core::convert::Into::into(obj))
1103        }
1104    }
1105    #[doc = "`get_Progress()` overload"]
1106    fn get_progress(self) -> f32 {
1107        unsafe {
1108            let __receiver =
1109                <SceneProvider_UnloadSceneOp as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1110            {
1111                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
1112                let __vi = *__vt.get(30usize).unwrap_or_else(|| {
1113                    panic!(
1114                        "unity: virtual slot {}
1115 out of range (vtable len {}
1116) on the runtime class behind {}
1117 (method `{}
1118`)",
1119                        30usize,
1120                        __vt.len(),
1121                        <SceneProvider_UnloadSceneOp as ::unity::ClassIdentity>::NAME,
1122                        "get_Progress",
1123                    )
1124                });
1125                let __inner: extern "C" fn(SceneProvider_UnloadSceneOp, ::unity::OptionalMethod) -> f32 = ::core::mem::transmute(__vi.method_ptr);
1126                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
1127                __inner(__receiver, __mi)
1128            }
1129        }
1130    }
1131    #[doc = "`.ctor()` overload"]
1132    fn ctor(self) -> () {
1133        unsafe {
1134            let __receiver =
1135                <SceneProvider_UnloadSceneOp as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1136            ::unity::il2cpp_call!(__SceneProvider_UnloadSceneOp_unity_raw::__lookup_ctor::get_method_info().method_ptr,();
1137(SceneProvider_UnloadSceneOp)__receiver)
1138        }
1139    }
1140}
1141
1142#[cfg(feature = "unity_engine-resource_management-resource_providers-sceneprovider")]
1143impl<__T: ISceneProvider_UnloadSceneOp> ISceneProvider_UnloadSceneOpMethods for __T {}
1144
1145#[cfg(feature = "unity_engine-resource_management-resource_providers-sceneprovider")]
1146impl SceneProvider_UnloadSceneOp {
1147    pub fn init_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1148        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
1149    }
1150
1151    pub fn execute_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1152        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
1153    }
1154
1155    pub fn invoke_wait_for_completion_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1156        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
1157    }
1158
1159    pub fn unload_scene_completed_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1160        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[3]
1161    }
1162
1163    pub fn unload_scene_completed_no_release_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1164        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[4]
1165    }
1166
1167    pub fn get_progress_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1168        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[5]
1169    }
1170
1171    pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1172        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[6]
1173    }
1174}
1175
1176#[cfg(feature = "unity_engine-resource_management-resource_providers-sceneprovider")]
1177impl SceneProvider_UnloadSceneOp {
1178    #[doc = "Direct (non-virtual) call to `SceneProvider_UnloadSceneOp`'s own `Execute`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
1179    pub unsafe fn execute(this: impl ::core::convert::Into<::unity::IlInstance>) -> () {
1180        let __mi = Self::execute_method_info();
1181        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
1182        __inner(this.into(), ::core::option::Option::None)
1183    }
1184
1185    #[doc = "Direct (non-virtual) call to `SceneProvider_UnloadSceneOp`'s own `InvokeWaitForCompletion`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
1186    pub unsafe fn invoke_wait_for_completion(this: impl ::core::convert::Into<::unity::IlInstance>) -> bool {
1187        let __mi = Self::invoke_wait_for_completion_method_info();
1188        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> bool = ::core::mem::transmute(__mi.method_ptr);
1189        __inner(this.into(), ::core::option::Option::None)
1190    }
1191
1192    #[doc = "Direct (non-virtual) call to `SceneProvider_UnloadSceneOp`'s own `get_Progress`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
1193    pub unsafe fn get_progress(this: impl ::core::convert::Into<::unity::IlInstance>) -> f32 {
1194        let __mi = Self::get_progress_method_info();
1195        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> f32 = ::core::mem::transmute(__mi.method_ptr);
1196        __inner(this.into(), ::core::option::Option::None)
1197    }
1198}
1199
1200#[cfg(feature = "unity_engine-resource_management-resource_providers-sceneprovider")]
1201impl SceneProvider_UnloadSceneOp {
1202    #[doc = "`.ctor()` — no args"]
1203    pub fn new() -> Self {
1204        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
1205            panic!(
1206                "{}
1207::{}
1208 failed to instantiate",
1209                ::core::stringify!(SceneProvider_UnloadSceneOp),
1210                ::core::stringify!(new),
1211            )
1212        });
1213        <Self as ISceneProvider_UnloadSceneOpMethods>::ctor(this);
1214        this
1215    }
1216}
1217
1218#[cfg(feature = "unity_engine-resource_management-resource_providers-sceneprovider")]
1219#[doc(hidden)]
1220pub mod prelude {
1221    pub use super::{
1222        ISceneProvider, ISceneProviderMethods, ISceneProvider_SceneOp, ISceneProvider_SceneOpMethods, ISceneProvider_UnloadSceneOp,
1223        ISceneProvider_UnloadSceneOpMethods, SceneProvider, SceneProvider_SceneOp, SceneProvider_UnloadSceneOp,
1224    };
1225    #[cfg(feature = "system-object")]
1226    pub use crate::system::object::IObjectMethods;
1227    #[cfg(feature = "unity_engine-resource_management-async_operations-asyncoperationbase_1")]
1228    pub use crate::unity_engine::resource_management::async_operations::asyncoperationbase_1::IAsyncOperationBase_1Methods;
1229    pub use crate::{system::object::IObject, unity_engine::resource_management::async_operations::asyncoperationbase_1::IAsyncOperationBase_1};
1230}