engage/generated/unity_engine/
unitysynchronizationcontext.rs1#[cfg(feature = "unity_engine-unitysynchronizationcontext-types")]
4mod __types {
5 #[allow(unused_imports)] use ::unity::prelude::*;
6
7 use super::*;
8 use crate::system::{
9 object::{IObject, Object},
10 valuetype::{IValueType, ValueType},
11 };
12
13 #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/unity_engine/unitysynchronizationcontext/UnitySynchronizationContext.md"))]
14 #[::unity::class(namespace = "UnityEngine", name = "UnitySynchronizationContext")]
15 pub struct UnitySynchronizationContext {
16 #[offset(24)]
17 #[rename(name = "m_AsyncWorkQueue")]
18 pub m_async_work_queue: crate::system::collections::generic::list_1::List_1<
19 crate::unity_engine::unitysynchronizationcontext::UnitySynchronizationContext_WorkRequest,
20 >,
21 #[offset(32)]
22 #[rename(name = "m_CurrentFrameWork")]
23 pub m_current_frame_work: crate::system::collections::generic::list_1::List_1<
24 crate::unity_engine::unitysynchronizationcontext::UnitySynchronizationContext_WorkRequest,
25 >,
26 #[offset(40)]
27 #[rename(name = "m_MainThreadID")]
28 pub m_main_thread_id: i32,
29 #[offset(44)]
30 #[rename(name = "m_TrackedCount")]
31 pub m_tracked_count: i32,
32 }
33
34 #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/unity_engine/unitysynchronizationcontext/UnitySynchronizationContext_WorkRequest.md"))]
35 #[repr(C)]
36 #[derive(::core::clone::Clone, ::core::marker::Copy)]
37 pub struct UnitySynchronizationContext_WorkRequest {}
38 impl ::unity::ClassIdentity for UnitySynchronizationContext_WorkRequest {
39 const NAME: &'static str = "UnitySynchronizationContext.WorkRequest";
40 const NAMESPACE: &'static str = "UnityEngine";
41
42 fn class() -> ::unity::Class {
43 static CACHE: ::std::sync::OnceLock<::unity::Class> = ::std::sync::OnceLock::new();
44 *CACHE.get_or_init(|| ::unity::Class::lookup(Self::NAMESPACE, Self::NAME))
45 }
46 }
47 impl ::unity::IlType for UnitySynchronizationContext_WorkRequest {
48 fn il_type() -> &'static ::unity::il2cpp::Il2CppType {
49 &<Self as ::unity::ClassIdentity>::class().raw()._1.byval_arg
50 }
51 }
52}
53
54#[cfg(feature = "unity_engine-unitysynchronizationcontext-types")]
55pub use __types::*;
56
57#[cfg(feature = "unity_engine-unitysynchronizationcontext")]
58impl UnitySynchronizationContext {
59 #[doc = "`InitializeSynchronizationContext()` overload"]
60 pub fn initialize_synchronization_context() -> () {
61 unsafe {
62 ::unity::il2cpp_call!((::unity::module_base()+0x37957e0usize)as*mut u8,();
63 )
64 }
65 }
66
67 #[doc = "`ExecuteTasks()` overload"]
68 pub fn execute_tasks() -> () {
69 unsafe {
70 ::unity::il2cpp_call!((::unity::module_base()+0x3795850usize)as*mut u8,();
71 )
72 }
73 }
74
75 #[doc = "`ExecutePendingTasks(i64)` overload"]
76 pub fn execute_pending_tasks(milliseconds_timeout: impl ::core::convert::Into<i64>) -> bool {
77 unsafe {
78 ::unity::il2cpp_call!((::unity::module_base()+0x37958c0usize)as*mut u8,bool;
79(i64)::core::convert::Into::into(milliseconds_timeout))
80 }
81 }
82}
83
84#[cfg(feature = "unity_engine-unitysynchronizationcontext")]
85pub trait IUnitySynchronizationContextMethods: IUnitySynchronizationContext {
86 #[doc = "`.ctor(i32)` overload"]
87 fn ctor(self, main_thread_id: impl ::core::convert::Into<i32>) -> () {
88 unsafe {
89 let __receiver =
90 <UnitySynchronizationContext as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
91 ::unity::il2cpp_call!((::unity::module_base()+0x3794e80usize)as*mut u8,();
92(UnitySynchronizationContext)__receiver,(i32)::core::convert::Into::into(main_thread_id))
93 }
94 }
95 #[doc = "`.ctor(crate::system::collections::generic::list_1::List_1<crate::unity_engine::unitysynchronizationcontext::UnitySynchronizationContext_WorkRequest>, i32)` overload"]
96 fn ctor_2(
97 self,
98 queue: impl ::core::convert::Into<
99 crate::system::collections::generic::list_1::List_1<
100 crate::unity_engine::unitysynchronizationcontext::UnitySynchronizationContext_WorkRequest,
101 >,
102 >,
103 main_thread_id: impl ::core::convert::Into<i32>,
104 ) -> () {
105 unsafe {
106 let __receiver =
107 <UnitySynchronizationContext as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
108 ::unity::il2cpp_call!((::unity::module_base()+0x3794f60usize)as*mut u8,();
109(UnitySynchronizationContext)__receiver,(crate::system::collections::generic::list_1::List_1<crate::unity_engine::unitysynchronizationcontext::UnitySynchronizationContext_WorkRequest>)::core::convert::Into::into(queue),(i32)::core::convert::Into::into(main_thread_id))
110 }
111 }
112 #[doc = "`OperationStarted()` overload"]
113 fn operation_started(self) -> () {
114 unsafe {
115 let __receiver =
116 <UnitySynchronizationContext as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
117 {
118 let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
119 let __vi = *__vt.get(6usize).unwrap_or_else(|| {
120 panic!(
121 "unity: virtual slot {}
122 out of range (vtable len {}
123) on the runtime class behind {}
124 (method `{}
125`)",
126 6usize,
127 __vt.len(),
128 <UnitySynchronizationContext as ::unity::ClassIdentity>::NAME,
129 "OperationStarted",
130 )
131 });
132 let __inner: extern "C" fn(UnitySynchronizationContext, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
133 let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
134 __inner(__receiver, __mi)
135 }
136 }
137 }
138 #[doc = "`OperationCompleted()` overload"]
139 fn operation_completed(self) -> () {
140 unsafe {
141 let __receiver =
142 <UnitySynchronizationContext as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
143 {
144 let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
145 let __vi = *__vt.get(7usize).unwrap_or_else(|| {
146 panic!(
147 "unity: virtual slot {}
148 out of range (vtable len {}
149) on the runtime class behind {}
150 (method `{}
151`)",
152 7usize,
153 __vt.len(),
154 <UnitySynchronizationContext as ::unity::ClassIdentity>::NAME,
155 "OperationCompleted",
156 )
157 });
158 let __inner: extern "C" fn(UnitySynchronizationContext, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
159 let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
160 __inner(__receiver, __mi)
161 }
162 }
163 }
164 #[doc = "`Exec()` overload"]
165 fn exec(self) -> () {
166 unsafe {
167 let __receiver =
168 <UnitySynchronizationContext as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
169 ::unity::il2cpp_call!((::unity::module_base()+0x3795500usize)as*mut u8,();
170(UnitySynchronizationContext)__receiver)
171 }
172 }
173 #[doc = "`HasPendingTasks()` overload"]
174 fn has_pending_tasks(self) -> bool {
175 unsafe {
176 let __receiver =
177 <UnitySynchronizationContext as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
178 ::unity::il2cpp_call!((::unity::module_base()+0x3795770usize)as*mut u8,bool;
179(UnitySynchronizationContext)__receiver)
180 }
181 }
182}
183
184#[cfg(feature = "unity_engine-unitysynchronizationcontext")]
185impl<__T: IUnitySynchronizationContext> IUnitySynchronizationContextMethods for __T {}
186
187#[cfg(feature = "unity_engine-unitysynchronizationcontext")]
188impl UnitySynchronizationContext {
189 pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
190 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
191 }
192
193 pub fn ctor_2_method_info() -> &'static ::unity::il2cpp::MethodInfo {
194 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
195 }
196
197 pub fn operation_started_method_info() -> &'static ::unity::il2cpp::MethodInfo {
198 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[3]
199 }
200
201 pub fn operation_completed_method_info() -> &'static ::unity::il2cpp::MethodInfo {
202 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[4]
203 }
204
205 pub fn exec_method_info() -> &'static ::unity::il2cpp::MethodInfo {
206 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[7]
207 }
208
209 pub fn has_pending_tasks_method_info() -> &'static ::unity::il2cpp::MethodInfo {
210 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[8]
211 }
212
213 pub fn initialize_synchronization_context_method_info() -> &'static ::unity::il2cpp::MethodInfo {
214 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[9]
215 }
216
217 pub fn execute_tasks_method_info() -> &'static ::unity::il2cpp::MethodInfo {
218 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[10]
219 }
220
221 pub fn execute_pending_tasks_method_info() -> &'static ::unity::il2cpp::MethodInfo {
222 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[11]
223 }
224}
225
226#[cfg(feature = "unity_engine-unitysynchronizationcontext")]
227impl UnitySynchronizationContext {
228 #[doc = "Direct (non-virtual) call to `UnitySynchronizationContext`'s own `OperationStarted`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
229 pub unsafe fn operation_started(this: impl ::core::convert::Into<::unity::IlInstance>) -> () {
230 let __mi = Self::operation_started_method_info();
231 let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
232 __inner(this.into(), ::core::option::Option::None)
233 }
234
235 #[doc = "Direct (non-virtual) call to `UnitySynchronizationContext`'s own `OperationCompleted`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
236 pub unsafe fn operation_completed(this: impl ::core::convert::Into<::unity::IlInstance>) -> () {
237 let __mi = Self::operation_completed_method_info();
238 let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
239 __inner(this.into(), ::core::option::Option::None)
240 }
241}
242
243#[cfg(feature = "unity_engine-unitysynchronizationcontext")]
244impl UnitySynchronizationContext {
245 #[doc = "`.ctor(i32)` — overload selector"]
246 pub fn new(main_thread_id: i32) -> Self {
247 let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
248 panic!(
249 "{}
250::{}
251 failed to instantiate",
252 ::core::stringify!(UnitySynchronizationContext),
253 ::core::stringify!(new),
254 )
255 });
256 <Self as IUnitySynchronizationContextMethods>::ctor(this, main_thread_id);
257 this
258 }
259
260 #[doc = "`.ctor(crate::system::collections::generic::list_1::List_1<crate::unity_engine::unitysynchronizationcontext::UnitySynchronizationContext_WorkRequest>, i32)` — overload selector"]
261 pub fn new_2(
262 queue: crate::system::collections::generic::list_1::List_1<
263 crate::unity_engine::unitysynchronizationcontext::UnitySynchronizationContext_WorkRequest,
264 >,
265 main_thread_id: i32,
266 ) -> Self {
267 let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
268 panic!(
269 "{}
270::{}
271 failed to instantiate",
272 ::core::stringify!(UnitySynchronizationContext),
273 ::core::stringify!(new_2),
274 )
275 });
276 <Self as IUnitySynchronizationContextMethods>::ctor_2(this, queue, main_thread_id);
277 this
278 }
279}
280
281#[cfg(feature = "unity_engine-unitysynchronizationcontext")]
282impl UnitySynchronizationContext_WorkRequest {
283 #[doc = "`Invoke()` overload"]
284 pub fn invoke(&mut self) -> () {
285 unsafe {
286 ::unity::il2cpp_call!((::unity::module_base()+0x3795670usize)as*mut u8,();
287(*mut UnitySynchronizationContext_WorkRequest)self as*mut UnitySynchronizationContext_WorkRequest)
288 }
289 }
290}
291
292#[cfg(feature = "unity_engine-unitysynchronizationcontext")]
293impl UnitySynchronizationContext_WorkRequest {
294 pub fn invoke_method_info() -> &'static ::unity::il2cpp::MethodInfo {
295 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
296 }
297}
298
299#[cfg(feature = "unity_engine-unitysynchronizationcontext")]
300#[doc(hidden)]
301pub mod prelude {
302 pub use super::{
303 IUnitySynchronizationContext, IUnitySynchronizationContextMethods, UnitySynchronizationContext, UnitySynchronizationContext_WorkRequest,
304 };
305 #[cfg(feature = "system-object")]
306 pub use crate::system::object::IObjectMethods;
307 #[cfg(feature = "system-valuetype")]
308 pub use crate::system::valuetype::IValueTypeMethods;
309 pub use crate::system::{object::IObject, valuetype::IValueType};
310}