1#[cfg(feature = "root-monobehaviourcallbackhooks-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::{
11 behaviour::{Behaviour, IBehaviour},
12 component::{Component, IComponent},
13 monobehaviour::{IMonoBehaviour, MonoBehaviour},
14 object_2::{IObject_2, Object_2},
15 resource_management::util::componentsingleton_1_2::{ComponentSingleton_1_2, IComponentSingleton_1_2},
16 },
17 };
18
19 #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/root/monobehaviourcallbackhooks/MonoBehaviourCallbackHooks.md"))]
20 #[::unity::class(namespace = "", name = "MonoBehaviourCallbackHooks")]
21 #[parent(crate::unity_engine::resource_management::util::componentsingleton_1_2::ComponentSingleton_1_2<crate::root::monobehaviourcallbackhooks::MonoBehaviourCallbackHooks>)]
22 pub struct MonoBehaviourCallbackHooks {
23 #[offset(24)]
24 #[rename(name = "m_OnUpdateDelegate")]
25 pub m_on_update_delegate: crate::system::action_1::Action_1<f32>,
26 }
27}
28
29#[cfg(feature = "root-monobehaviourcallbackhooks-types")]
30pub use __types::*;
31
32#[cfg(feature = "root-monobehaviourcallbackhooks")]
33#[doc(hidden)]
34#[allow(non_snake_case, non_camel_case_types, clippy::too_many_arguments)]
35mod __MonoBehaviourCallbackHooks_unity_raw {
36 use super::*;
37 #[doc(hidden)]
38 #[allow(non_snake_case)]
39 pub mod __lookup_add_on_update_delegate {
40 use super::*;
41 static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
42 let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[<crate::system::action_1::Action_1<f32> as ::unity::IlType>::il_type()];
43 ::unity::lookup::method_info_on_class_with_signature(
44 <MonoBehaviourCallbackHooks as ::unity::ClassIdentity>::class(),
45 "add_OnUpdateDelegate",
46 1,
47 param_types,
48 false,
49 )
50 });
51 pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
52 match &*METHOD {
53 ::core::result::Result::Ok(mi) => *mi,
54 ::core::result::Result::Err(e) => {
55 panic!(
56 "method lookup failed: {}
57::{}
58: {}
59",
60 <MonoBehaviourCallbackHooks as ::unity::ClassIdentity>::NAME,
61 "add_OnUpdateDelegate",
62 e
63 )
64 },
65 }
66 }
67 }
68 #[doc(hidden)]
69 #[allow(non_snake_case)]
70 pub mod __lookup_remove_on_update_delegate {
71 use super::*;
72 static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
73 let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[<crate::system::action_1::Action_1<f32> as ::unity::IlType>::il_type()];
74 ::unity::lookup::method_info_on_class_with_signature(
75 <MonoBehaviourCallbackHooks as ::unity::ClassIdentity>::class(),
76 "remove_OnUpdateDelegate",
77 1,
78 param_types,
79 false,
80 )
81 });
82 pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
83 match &*METHOD {
84 ::core::result::Result::Ok(mi) => *mi,
85 ::core::result::Result::Err(e) => {
86 panic!(
87 "method lookup failed: {}
88::{}
89: {}
90",
91 <MonoBehaviourCallbackHooks as ::unity::ClassIdentity>::NAME,
92 "remove_OnUpdateDelegate",
93 e
94 )
95 },
96 }
97 }
98 }
99 #[doc(hidden)]
100 #[allow(non_snake_case)]
101 pub mod __lookup_update {
102 use super::*;
103 static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
104 let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[];
105 ::unity::lookup::method_info_on_class_with_signature(
106 <MonoBehaviourCallbackHooks as ::unity::ClassIdentity>::class(),
107 "Update",
108 0,
109 param_types,
110 false,
111 )
112 });
113 pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
114 match &*METHOD {
115 ::core::result::Result::Ok(mi) => *mi,
116 ::core::result::Result::Err(e) => {
117 panic!(
118 "method lookup failed: {}
119::{}
120: {}
121",
122 <MonoBehaviourCallbackHooks as ::unity::ClassIdentity>::NAME,
123 "Update",
124 e
125 )
126 },
127 }
128 }
129 }
130 #[doc(hidden)]
131 #[allow(non_snake_case)]
132 pub mod __lookup_ctor {
133 use super::*;
134 static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
135 let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[];
136 ::unity::lookup::method_info_on_class_with_signature(
137 <MonoBehaviourCallbackHooks as ::unity::ClassIdentity>::class(),
138 ".ctor",
139 0,
140 param_types,
141 false,
142 )
143 });
144 pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
145 match &*METHOD {
146 ::core::result::Result::Ok(mi) => *mi,
147 ::core::result::Result::Err(e) => {
148 panic!(
149 "method lookup failed: {}
150::{}
151: {}
152",
153 <MonoBehaviourCallbackHooks as ::unity::ClassIdentity>::NAME,
154 ".ctor",
155 e
156 )
157 },
158 }
159 }
160 }
161}
162
163#[cfg(feature = "root-monobehaviourcallbackhooks")]
164pub trait IMonoBehaviourCallbackHooksMethods: IMonoBehaviourCallbackHooks {
165 #[doc = "`add_OnUpdateDelegate(crate::system::action_1::Action_1<f32>)` overload"]
166 fn add_on_update_delegate(self, value: impl ::core::convert::Into<crate::system::action_1::Action_1<f32>>) -> () {
167 unsafe {
168 let __receiver =
169 <MonoBehaviourCallbackHooks as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
170 ::unity::il2cpp_call!(__MonoBehaviourCallbackHooks_unity_raw::__lookup_add_on_update_delegate::get_method_info().method_ptr,();
171(MonoBehaviourCallbackHooks)__receiver,(crate::system::action_1::Action_1<f32>)::core::convert::Into::into(value))
172 }
173 }
174 #[doc = "`remove_OnUpdateDelegate(crate::system::action_1::Action_1<f32>)` overload"]
175 fn remove_on_update_delegate(self, value: impl ::core::convert::Into<crate::system::action_1::Action_1<f32>>) -> () {
176 unsafe {
177 let __receiver =
178 <MonoBehaviourCallbackHooks as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
179 ::unity::il2cpp_call!(__MonoBehaviourCallbackHooks_unity_raw::__lookup_remove_on_update_delegate::get_method_info().method_ptr,();
180(MonoBehaviourCallbackHooks)__receiver,(crate::system::action_1::Action_1<f32>)::core::convert::Into::into(value))
181 }
182 }
183 #[doc = "`GetGameObjectName()` overload"]
184 fn get_game_object_name(self) -> ::unity::Il2CppString {
185 unsafe {
186 let __receiver =
187 <MonoBehaviourCallbackHooks as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
188 {
189 let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
190 let __vi = *__vt.get(4usize).unwrap_or_else(|| {
191 panic!(
192 "unity: virtual slot {}
193 out of range (vtable len {}
194) on the runtime class behind {}
195 (method `{}
196`)",
197 4usize,
198 __vt.len(),
199 <MonoBehaviourCallbackHooks as ::unity::ClassIdentity>::NAME,
200 "GetGameObjectName",
201 )
202 });
203 let __inner: extern "C" fn(MonoBehaviourCallbackHooks, ::unity::OptionalMethod) -> ::unity::Il2CppString =
204 ::core::mem::transmute(__vi.method_ptr);
205 let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
206 __inner(__receiver, __mi)
207 }
208 }
209 }
210 #[doc = "`Update()` overload"]
211 fn update(self) -> () {
212 unsafe {
213 let __receiver =
214 <MonoBehaviourCallbackHooks as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
215 ::unity::il2cpp_call!(__MonoBehaviourCallbackHooks_unity_raw::__lookup_update::get_method_info().method_ptr,();
216(MonoBehaviourCallbackHooks)__receiver)
217 }
218 }
219 #[doc = "`.ctor()` overload"]
220 fn ctor(self) -> () {
221 unsafe {
222 let __receiver =
223 <MonoBehaviourCallbackHooks as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
224 ::unity::il2cpp_call!(__MonoBehaviourCallbackHooks_unity_raw::__lookup_ctor::get_method_info().method_ptr,();
225(MonoBehaviourCallbackHooks)__receiver)
226 }
227 }
228}
229
230#[cfg(feature = "root-monobehaviourcallbackhooks")]
231impl<__T: IMonoBehaviourCallbackHooks> IMonoBehaviourCallbackHooksMethods for __T {}
232
233#[cfg(feature = "root-monobehaviourcallbackhooks")]
234impl MonoBehaviourCallbackHooks {
235 pub fn add_on_update_delegate_method_info() -> &'static ::unity::il2cpp::MethodInfo {
236 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
237 }
238
239 pub fn remove_on_update_delegate_method_info() -> &'static ::unity::il2cpp::MethodInfo {
240 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
241 }
242
243 pub fn get_game_object_name_method_info() -> &'static ::unity::il2cpp::MethodInfo {
244 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
245 }
246
247 pub fn update_method_info() -> &'static ::unity::il2cpp::MethodInfo {
248 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[3]
249 }
250
251 pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
252 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[4]
253 }
254}
255
256#[cfg(feature = "root-monobehaviourcallbackhooks")]
257impl MonoBehaviourCallbackHooks {
258 #[doc = "Direct (non-virtual) call to `MonoBehaviourCallbackHooks`'s own `GetGameObjectName`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
259 pub unsafe fn get_game_object_name(this: impl ::core::convert::Into<::unity::IlInstance>) -> ::unity::Il2CppString {
260 let __mi = Self::get_game_object_name_method_info();
261 let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> ::unity::Il2CppString = ::core::mem::transmute(__mi.method_ptr);
262 __inner(this.into(), ::core::option::Option::None)
263 }
264}
265
266#[cfg(feature = "root-monobehaviourcallbackhooks")]
267impl MonoBehaviourCallbackHooks {
268 #[doc = "`.ctor()` — no args"]
269 pub fn new() -> Self {
270 let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
271 panic!(
272 "{}
273::{}
274 failed to instantiate",
275 ::core::stringify!(MonoBehaviourCallbackHooks),
276 ::core::stringify!(new),
277 )
278 });
279 <Self as IMonoBehaviourCallbackHooksMethods>::ctor(this);
280 this
281 }
282}
283
284#[cfg(feature = "root-monobehaviourcallbackhooks")]
285#[doc(hidden)]
286pub mod prelude {
287 pub use super::{IMonoBehaviourCallbackHooks, IMonoBehaviourCallbackHooksMethods, MonoBehaviourCallbackHooks};
288 #[cfg(feature = "system-object")]
289 pub use crate::system::object::IObjectMethods;
290 #[cfg(feature = "unity_engine-behaviour")]
291 pub use crate::unity_engine::behaviour::IBehaviourMethods;
292 #[cfg(feature = "unity_engine-component")]
293 pub use crate::unity_engine::component::IComponentMethods;
294 #[cfg(feature = "unity_engine-monobehaviour")]
295 pub use crate::unity_engine::monobehaviour::IMonoBehaviourMethods;
296 #[cfg(feature = "unity_engine-object_2")]
297 pub use crate::unity_engine::object_2::IObject_2Methods;
298 #[cfg(feature = "unity_engine-resource_management-util-componentsingleton_1_2")]
299 pub use crate::unity_engine::resource_management::util::componentsingleton_1_2::IComponentSingleton_1_2Methods;
300 pub use crate::{
301 system::object::IObject,
302 unity_engine::{
303 behaviour::IBehaviour, component::IComponent, monobehaviour::IMonoBehaviour, object_2::IObject_2,
304 resource_management::util::componentsingleton_1_2::IComponentSingleton_1_2,
305 },
306 };
307}