Skip to main content

engage/generated/unity_engine/
subsystemmanager.rs

1// @generated by il2cpp-bindgen — do not edit by hand.
2
3#[cfg(feature = "unity_engine-subsystemmanager-types")]
4mod __types {
5    #[allow(unused_imports)] use ::unity::prelude::*;
6
7    use super::*;
8    use crate::system::object::{IObject, Object};
9
10    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/unity_engine/subsystemmanager/SubsystemManager.md"))]
11    #[::unity::class(namespace = "UnityEngine", name = "SubsystemManager")]
12    #[parent(crate::system::object::Object)]
13    pub struct SubsystemManager {
14        #[static_field]
15        #[rename(name = "beforeReloadSubsystems")]
16        pub before_reload_subsystems: crate::system::action::Action,
17        #[static_field]
18        #[rename(name = "afterReloadSubsystems")]
19        pub after_reload_subsystems: crate::system::action::Action,
20        #[static_field]
21        #[rename(name = "s_IntegratedSubsystems")]
22        pub s_integrated_subsystems:
23            crate::system::collections::generic::list_1::List_1<crate::unity_engine::integratedsubsystem::IntegratedSubsystem>,
24        #[static_field]
25        #[rename(name = "s_StandaloneSubsystems")]
26        pub s_standalone_subsystems: crate::system::collections::generic::list_1::List_1<
27            crate::unity_engine::subsystems_implementation::subsystemwithprovider::SubsystemWithProvider,
28        >,
29        #[static_field]
30        #[rename(name = "s_DeprecatedSubsystems")]
31        pub s_deprecated_subsystems: crate::system::collections::generic::list_1::List_1<crate::unity_engine::subsystem::Subsystem>,
32        #[static_field]
33        #[rename(name = "reloadSubsytemsStarted")]
34        pub reload_subsytems_started: crate::system::action::Action,
35        #[static_field]
36        #[rename(name = "reloadSubsytemsCompleted")]
37        pub reload_subsytems_completed: crate::system::action::Action,
38    }
39}
40
41#[cfg(feature = "unity_engine-subsystemmanager-types")]
42pub use __types::*;
43
44#[cfg(feature = "unity_engine-subsystemmanager")]
45impl SubsystemManager {
46    #[doc = "`ReloadSubsystemsStarted()` overload"]
47    pub fn reload_subsystems_started() -> () {
48        unsafe {
49            ::unity::il2cpp_call!((::unity::module_base()+0x3f3ae70usize)as*mut u8,();
50            )
51        }
52    }
53
54    #[doc = "`ReloadSubsystemsCompleted()` overload"]
55    pub fn reload_subsystems_completed() -> () {
56        unsafe {
57            ::unity::il2cpp_call!((::unity::module_base()+0x3f3af70usize)as*mut u8,();
58            )
59        }
60    }
61
62    #[doc = "`InitializeIntegratedSubsystem(::unity::IntPtr, crate::unity_engine::integratedsubsystem::IntegratedSubsystem)` overload"]
63    pub fn initialize_integrated_subsystem(
64        ptr: impl ::core::convert::Into<::unity::IntPtr>,
65        subsystem: impl ::core::convert::Into<crate::unity_engine::integratedsubsystem::IntegratedSubsystem>,
66    ) -> () {
67        unsafe {
68            ::unity::il2cpp_call!((::unity::module_base()+0x3f3b070usize)as*mut u8,();
69(::unity::IntPtr)::core::convert::Into::into(ptr),(crate::unity_engine::integratedsubsystem::IntegratedSubsystem)::core::convert::Into::into(subsystem))
70        }
71    }
72
73    #[doc = "`ClearSubsystems()` overload"]
74    pub fn clear_subsystems() -> () {
75        unsafe {
76            ::unity::il2cpp_call!((::unity::module_base()+0x3f3b130usize)as*mut u8,();
77            )
78        }
79    }
80
81    #[doc = "`StaticConstructScriptingClassMap()` overload"]
82    pub fn static_construct_scripting_class_map() -> () {
83        unsafe {
84            ::unity::il2cpp_call!((::unity::module_base()+0x3f3b310usize)as*mut u8,();
85            )
86        }
87    }
88
89    #[doc = "`.cctor()` overload"]
90    pub fn cctor() -> () {
91        unsafe {
92            ::unity::il2cpp_call!((::unity::module_base()+0x3f3b350usize)as*mut u8,();
93            )
94        }
95    }
96
97    pub fn get_subsystems<M0: ::unity::IlType + ::core::marker::Copy + ::unity::ClassIdentity>(
98        subsystems: impl ::core::convert::Into<crate::system::collections::generic::list_1::List_1<M0>>,
99    ) -> () {
100        static OPEN: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
101            ::unity::lookup::method_info_on_class(<SubsystemManager as ::unity::ClassIdentity>::class(), "GetSubsystems", 1)
102        });
103        #[allow(clippy::type_complexity)]
104        static CACHE: ::std::sync::OnceLock<::std::sync::Mutex<::std::collections::HashMap<usize, &'static ::unity::il2cpp::MethodInfo>>> =
105            ::std::sync::OnceLock::new();
106        let _ = true;
107        let __open: &'static ::unity::il2cpp::MethodInfo = match &*OPEN {
108            ::core::result::Result::Ok(mi) => *mi,
109            ::core::result::Result::Err(e) => {
110                panic!(
111                    "method lookup failed: {}
112::{}
113: {}
114",
115                    <SubsystemManager as ::unity::ClassIdentity>::NAME,
116                    "GetSubsystems",
117                    e
118                )
119            },
120        };
121        let __cache = CACHE.get_or_init(|| ::std::sync::Mutex::new(::std::collections::HashMap::new()));
122        let __key: usize = <M0 as ::unity::IlType>::il_type() as *const _ as usize;
123        let __inflated: &'static ::unity::il2cpp::MethodInfo = {
124            let mut __guard = __cache.lock().unwrap();
125            *__guard
126                .entry(__key)
127                .or_insert_with(|| ::unity::il2cpp::generic::create_generic_method_info(__open, &[<M0 as ::unity::IlType>::il_type()]))
128        };
129        unsafe {
130            let __f: extern "C" fn(crate::system::collections::generic::list_1::List_1<M0>, ::unity::OptionalMethod) -> () =
131                ::core::mem::transmute(__inflated.method_ptr);
132            let __mi_opaque: &'static () = &*(__inflated as *const _ as *const ());
133            __f(::core::convert::Into::into(subsystems), ::core::option::Option::Some(__mi_opaque))
134        }
135    }
136
137    pub fn add_subsystem_subset<
138        M0: ::unity::IlType + ::core::marker::Copy + ::unity::ClassIdentity,
139        M1: ::unity::IlType + ::core::marker::Copy + ::unity::ClassIdentity,
140    >(
141        copy_from: impl ::core::convert::Into<crate::system::collections::generic::list_1::List_1<M0>>,
142        copy_to: impl ::core::convert::Into<crate::system::collections::generic::list_1::List_1<M1>>,
143    ) -> () {
144        static OPEN: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
145            ::unity::lookup::method_info_on_class(<SubsystemManager as ::unity::ClassIdentity>::class(), "AddSubsystemSubset", 2)
146        });
147        #[allow(clippy::type_complexity)]
148        static CACHE: ::std::sync::OnceLock<::std::sync::Mutex<::std::collections::HashMap<usize, &'static ::unity::il2cpp::MethodInfo>>> =
149            ::std::sync::OnceLock::new();
150        let _ = true;
151        let __open: &'static ::unity::il2cpp::MethodInfo = match &*OPEN {
152            ::core::result::Result::Ok(mi) => *mi,
153            ::core::result::Result::Err(e) => {
154                panic!(
155                    "method lookup failed: {}
156::{}
157: {}
158",
159                    <SubsystemManager as ::unity::ClassIdentity>::NAME,
160                    "AddSubsystemSubset",
161                    e
162                )
163            },
164        };
165        let __cache = CACHE.get_or_init(|| ::std::sync::Mutex::new(::std::collections::HashMap::new()));
166        let __key: usize = (<M0 as ::unity::IlType>::il_type() as *const _ as usize) ^ (<M1 as ::unity::IlType>::il_type() as *const _ as usize);
167        let __inflated: &'static ::unity::il2cpp::MethodInfo = {
168            let mut __guard = __cache.lock().unwrap();
169            *__guard.entry(__key).or_insert_with(|| {
170                ::unity::il2cpp::generic::create_generic_method_info(__open, &[
171                    <M0 as ::unity::IlType>::il_type(),
172                    <M1 as ::unity::IlType>::il_type(),
173                ])
174            })
175        };
176        unsafe {
177            let __f: extern "C" fn(
178                crate::system::collections::generic::list_1::List_1<M0>,
179                crate::system::collections::generic::list_1::List_1<M1>,
180                ::unity::OptionalMethod,
181            ) -> () = ::core::mem::transmute(__inflated.method_ptr);
182            let __mi_opaque: &'static () = &*(__inflated as *const _ as *const ());
183            __f(
184                ::core::convert::Into::into(copy_from),
185                ::core::convert::Into::into(copy_to),
186                ::core::option::Option::Some(__mi_opaque),
187            )
188        }
189    }
190
191    #[doc = "`GetIntegratedSubsystemByPtr(::unity::IntPtr)` overload"]
192    pub fn get_integrated_subsystem_by_ptr(
193        ptr: impl ::core::convert::Into<::unity::IntPtr>,
194    ) -> crate::unity_engine::integratedsubsystem::IntegratedSubsystem {
195        unsafe {
196            ::unity::il2cpp_call!((::unity::module_base()+0x3f3b4c0usize)as*mut u8,crate::unity_engine::integratedsubsystem::IntegratedSubsystem;
197(::unity::IntPtr)::core::convert::Into::into(ptr))
198        }
199    }
200
201    pub fn get_instances<M0: ::unity::IlType + ::core::marker::Copy + ::unity::ClassIdentity>(
202        subsystems: impl ::core::convert::Into<crate::system::collections::generic::list_1::List_1<M0>>,
203    ) -> () {
204        static OPEN: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
205            ::unity::lookup::method_info_on_class(<SubsystemManager as ::unity::ClassIdentity>::class(), "GetInstances", 1)
206        });
207        #[allow(clippy::type_complexity)]
208        static CACHE: ::std::sync::OnceLock<::std::sync::Mutex<::std::collections::HashMap<usize, &'static ::unity::il2cpp::MethodInfo>>> =
209            ::std::sync::OnceLock::new();
210        let _ = true;
211        let __open: &'static ::unity::il2cpp::MethodInfo = match &*OPEN {
212            ::core::result::Result::Ok(mi) => *mi,
213            ::core::result::Result::Err(e) => {
214                panic!(
215                    "method lookup failed: {}
216::{}
217: {}
218",
219                    <SubsystemManager as ::unity::ClassIdentity>::NAME,
220                    "GetInstances",
221                    e
222                )
223            },
224        };
225        let __cache = CACHE.get_or_init(|| ::std::sync::Mutex::new(::std::collections::HashMap::new()));
226        let __key: usize = <M0 as ::unity::IlType>::il_type() as *const _ as usize;
227        let __inflated: &'static ::unity::il2cpp::MethodInfo = {
228            let mut __guard = __cache.lock().unwrap();
229            *__guard
230                .entry(__key)
231                .or_insert_with(|| ::unity::il2cpp::generic::create_generic_method_info(__open, &[<M0 as ::unity::IlType>::il_type()]))
232        };
233        unsafe {
234            let __f: extern "C" fn(crate::system::collections::generic::list_1::List_1<M0>, ::unity::OptionalMethod) -> () =
235                ::core::mem::transmute(__inflated.method_ptr);
236            let __mi_opaque: &'static () = &*(__inflated as *const _ as *const ());
237            __f(::core::convert::Into::into(subsystems), ::core::option::Option::Some(__mi_opaque))
238        }
239    }
240}
241
242#[cfg(feature = "unity_engine-subsystemmanager")]
243impl SubsystemManager {
244    pub fn reload_subsystems_started_method_info() -> &'static ::unity::il2cpp::MethodInfo {
245        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
246    }
247
248    pub fn reload_subsystems_completed_method_info() -> &'static ::unity::il2cpp::MethodInfo {
249        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
250    }
251
252    pub fn initialize_integrated_subsystem_method_info() -> &'static ::unity::il2cpp::MethodInfo {
253        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
254    }
255
256    pub fn clear_subsystems_method_info() -> &'static ::unity::il2cpp::MethodInfo {
257        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[3]
258    }
259
260    pub fn static_construct_scripting_class_map_method_info() -> &'static ::unity::il2cpp::MethodInfo {
261        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[4]
262    }
263
264    pub fn cctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
265        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[5]
266    }
267
268    pub fn get_integrated_subsystem_by_ptr_method_info() -> &'static ::unity::il2cpp::MethodInfo {
269        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[8]
270    }
271}
272
273#[cfg(feature = "unity_engine-subsystemmanager")]
274#[doc(hidden)]
275pub mod prelude {
276    pub use super::{ISubsystemManager, SubsystemManager};
277    pub use crate::system::object::IObject;
278    #[cfg(feature = "system-object")]
279    pub use crate::system::object::IObjectMethods;
280}