engage/generated/unity_engine/resource_management/resource_providers/
isceneprovider_interface.rs1#[cfg(feature = "unity_engine-resource_management-resource_providers-isceneprovider_interface-types")]
4mod __types {
5 #[allow(unused_imports)] use ::unity::prelude::*;
6
7 use super::*;
8
9 #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/unity_engine/resource_management/resource_providers/isceneprovider_interface/ISceneProvider_Interface.md"))]
10 #[::unity::class(namespace = "UnityEngine.ResourceManagement.ResourceProviders", name = "ISceneProvider")]
11 pub struct ISceneProvider_Interface {}
12}
13
14#[cfg(feature = "unity_engine-resource_management-resource_providers-isceneprovider_interface-types")]
15pub use __types::*;
16
17#[cfg(feature = "unity_engine-resource_management-resource_providers-isceneprovider_interface")]
18pub trait IISceneProvider_InterfaceMethods: IISceneProvider_Interface {
19 #[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"]
20 fn provide_scene(
21 self,
22 resource_manager: impl ::core::convert::Into<crate::unity_engine::resource_management::resourcemanager::ResourceManager>,
23 location: impl ::core::convert::Into<crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation>,
24 load_mode: impl ::core::convert::Into<crate::unity_engine::scene_management::loadscenemode::LoadSceneMode>,
25 activate_on_load: impl ::core::convert::Into<bool>,
26 priority: impl ::core::convert::Into<i32>,
27 ) -> crate::unity_engine::resource_management::async_operations::asyncoperationhandle_1::AsyncOperationHandle_1<
28 crate::unity_engine::resource_management::resource_providers::sceneinstance::SceneInstance,
29 > {
30 unsafe {
31 let __receiver =
32 <ISceneProvider_Interface as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
33 {
34 let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
35 let __vi = *__vt.get(0usize).unwrap_or_else(|| {
36 panic!(
37 "unity: virtual slot {}
38 out of range (vtable len {}
39) on the runtime class behind {}
40 (method `{}
41`)",
42 0usize,
43 __vt.len(),
44 <ISceneProvider_Interface as ::unity::ClassIdentity>::NAME,
45 "ProvideScene",
46 )
47 });
48 let __inner:extern "C" fn(ISceneProvider_Interface,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);
49 let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
50 __inner(
51 __receiver,
52 ::core::convert::Into::into(resource_manager),
53 ::core::convert::Into::into(location),
54 ::core::convert::Into::into(load_mode),
55 ::core::convert::Into::into(activate_on_load),
56 ::core::convert::Into::into(priority),
57 __mi,
58 )
59 }
60 }
61 }
62 #[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"]
63 fn release_scene(
64 self,
65 resource_manager: impl ::core::convert::Into<crate::unity_engine::resource_management::resourcemanager::ResourceManager>,
66 scene_load_handle: impl ::core::convert::Into<
67 crate::unity_engine::resource_management::async_operations::asyncoperationhandle_1::AsyncOperationHandle_1<
68 crate::unity_engine::resource_management::resource_providers::sceneinstance::SceneInstance,
69 >,
70 >,
71 ) -> crate::unity_engine::resource_management::async_operations::asyncoperationhandle_1::AsyncOperationHandle_1<
72 crate::unity_engine::resource_management::resource_providers::sceneinstance::SceneInstance,
73 > {
74 unsafe {
75 let __receiver =
76 <ISceneProvider_Interface as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
77 {
78 let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
79 let __vi = *__vt.get(1usize).unwrap_or_else(|| {
80 panic!(
81 "unity: virtual slot {}
82 out of range (vtable len {}
83) on the runtime class behind {}
84 (method `{}
85`)",
86 1usize,
87 __vt.len(),
88 <ISceneProvider_Interface as ::unity::ClassIdentity>::NAME,
89 "ReleaseScene",
90 )
91 });
92 let __inner:extern "C" fn(ISceneProvider_Interface,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);
93 let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
94 __inner(
95 __receiver,
96 ::core::convert::Into::into(resource_manager),
97 ::core::convert::Into::into(scene_load_handle),
98 __mi,
99 )
100 }
101 }
102 }
103}
104
105#[cfg(feature = "unity_engine-resource_management-resource_providers-isceneprovider_interface")]
106impl<__T: IISceneProvider_Interface> IISceneProvider_InterfaceMethods for __T {}
107
108#[cfg(feature = "unity_engine-resource_management-resource_providers-isceneprovider_interface")]
109impl ISceneProvider_Interface {
110 pub fn provide_scene_method_info() -> &'static ::unity::il2cpp::MethodInfo {
111 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
112 }
113
114 pub fn release_scene_method_info() -> &'static ::unity::il2cpp::MethodInfo {
115 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
116 }
117}
118
119#[cfg(feature = "unity_engine-resource_management-resource_providers-isceneprovider_interface")]
120impl ISceneProvider_Interface {
121 #[doc = "Direct (non-virtual) call to `ISceneProvider_Interface`'s own `ProvideScene`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
122 pub unsafe fn provide_scene(
123 this: impl ::core::convert::Into<::unity::IlInstance>,
124 resource_manager: crate::unity_engine::resource_management::resourcemanager::ResourceManager,
125 location: crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation,
126 load_mode: crate::unity_engine::scene_management::loadscenemode::LoadSceneMode,
127 activate_on_load: bool,
128 priority: i32,
129 ) -> crate::unity_engine::resource_management::async_operations::asyncoperationhandle_1::AsyncOperationHandle_1<
130 crate::unity_engine::resource_management::resource_providers::sceneinstance::SceneInstance,
131 > {
132 let __mi = Self::provide_scene_method_info();
133 let __inner: extern "C" fn(
134 ::unity::IlInstance,
135 crate::unity_engine::resource_management::resourcemanager::ResourceManager,
136 crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation,
137 crate::unity_engine::scene_management::loadscenemode::LoadSceneMode,
138 bool,
139 i32,
140 ::unity::OptionalMethod,
141 )
142 -> crate::unity_engine::resource_management::async_operations::asyncoperationhandle_1::AsyncOperationHandle_1<
143 crate::unity_engine::resource_management::resource_providers::sceneinstance::SceneInstance,
144 > = ::core::mem::transmute(__mi.method_ptr);
145 __inner(
146 this.into(),
147 resource_manager,
148 location,
149 load_mode,
150 activate_on_load,
151 priority,
152 ::core::option::Option::None,
153 )
154 }
155
156 #[doc = "Direct (non-virtual) call to `ISceneProvider_Interface`'s own `ReleaseScene`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
157 pub unsafe fn release_scene(
158 this: impl ::core::convert::Into<::unity::IlInstance>,
159 resource_manager: crate::unity_engine::resource_management::resourcemanager::ResourceManager,
160 scene_load_handle: crate::unity_engine::resource_management::async_operations::asyncoperationhandle_1::AsyncOperationHandle_1<
161 crate::unity_engine::resource_management::resource_providers::sceneinstance::SceneInstance,
162 >,
163 ) -> crate::unity_engine::resource_management::async_operations::asyncoperationhandle_1::AsyncOperationHandle_1<
164 crate::unity_engine::resource_management::resource_providers::sceneinstance::SceneInstance,
165 > {
166 let __mi = Self::release_scene_method_info();
167 let __inner: extern "C" fn(
168 ::unity::IlInstance,
169 crate::unity_engine::resource_management::resourcemanager::ResourceManager,
170 crate::unity_engine::resource_management::async_operations::asyncoperationhandle_1::AsyncOperationHandle_1<
171 crate::unity_engine::resource_management::resource_providers::sceneinstance::SceneInstance,
172 >,
173 ::unity::OptionalMethod,
174 )
175 -> crate::unity_engine::resource_management::async_operations::asyncoperationhandle_1::AsyncOperationHandle_1<
176 crate::unity_engine::resource_management::resource_providers::sceneinstance::SceneInstance,
177 > = ::core::mem::transmute(__mi.method_ptr);
178 __inner(this.into(), resource_manager, scene_load_handle, ::core::option::Option::None)
179 }
180}
181
182#[cfg(feature = "unity_engine-resource_management-resource_providers-isceneprovider_interface")]
183#[doc(hidden)]
184pub mod prelude {
185 pub use super::{IISceneProvider_Interface, IISceneProvider_InterfaceMethods, ISceneProvider_Interface};
186}