1#[cfg(feature = "app-unititemmenuitem-types")]
4mod __types {
5 #[allow(unused_imports)] use ::unity::prelude::*;
6
7 use super::*;
8 use crate::{
9 app::{
10 basicitemmenuitem::{BasicItemMenuItem, IBasicItemMenuItem},
11 basicmenuitem::{BasicMenuItem, IBasicMenuItem},
12 },
13 system::object::{IObject, Object},
14 };
15
16 #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/app/unititemmenuitem/UnitItemMenuItem.md"))]
17 #[::unity::class(namespace = "App", name = "UnitItemMenuItem")]
18 #[parent(crate::app::basicitemmenuitem::BasicItemMenuItem)]
19 pub struct UnitItemMenuItem {
20 #[offset(100)]
21 #[rename(name = "m_OwnerItemIndex")]
22 pub m_owner_item_index: i32,
23 #[offset(104)]
24 #[rename(name = "m_SelectableBlank")]
25 pub m_selectable_blank: bool,
26 #[offset(112)]
27 #[rename(name = "m_SelectEventHandler")]
28 pub m_select_event_handler: crate::app::unititemmenu::UnitItemMenu_SelectEventHandler,
29 #[offset(120)]
30 #[rename(name = "m_DecideEventHandler")]
31 pub m_decide_event_handler: crate::app::unititemmenu::UnitItemMenu_DecideEventHandler,
32 #[offset(128)]
33 #[rename(name = "m_RequestCloseEventHandler")]
34 pub m_request_close_event_handler: crate::app::unititemmenu::UnitItemMenu_RequestCloseEventHandler,
35 }
36}
37
38#[cfg(feature = "app-unititemmenuitem-types")]
39pub use __types::*;
40
41#[cfg(feature = "app-unititemmenuitem")]
42pub trait IUnitItemMenuItemMethods: IUnitItemMenuItem {
43 #[doc = "`.ctor(i32, bool, crate::app::unititemmenu::UnitItemMenu_SelectEventHandler, crate::app::unititemmenu::UnitItemMenu_DecideEventHandler, crate::app::unititemmenu::UnitItemMenu_RequestCloseEventHandler)` overload"]
44 fn ctor(
45 self,
46 i: impl ::core::convert::Into<i32>,
47 selectable_blank: impl ::core::convert::Into<bool>,
48 select_event_handler: impl ::core::convert::Into<crate::app::unititemmenu::UnitItemMenu_SelectEventHandler>,
49 decide_event_handler: impl ::core::convert::Into<crate::app::unititemmenu::UnitItemMenu_DecideEventHandler>,
50 request_close_event_handler: impl ::core::convert::Into<crate::app::unititemmenu::UnitItemMenu_RequestCloseEventHandler>,
51 ) -> () {
52 unsafe {
53 let __receiver = <UnitItemMenuItem as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
54 ::unity::il2cpp_call!((::unity::module_base()+0x1fb3270usize)as*mut u8,();
55(UnitItemMenuItem)__receiver,(i32)::core::convert::Into::into(i),(bool)::core::convert::Into::into(selectable_blank),(crate::app::unititemmenu::UnitItemMenu_SelectEventHandler)::core::convert::Into::into(select_event_handler),(crate::app::unititemmenu::UnitItemMenu_DecideEventHandler)::core::convert::Into::into(decide_event_handler),(crate::app::unititemmenu::UnitItemMenu_RequestCloseEventHandler)::core::convert::Into::into(request_close_event_handler))
56 }
57 }
58 #[doc = "`BuildAttribute()` overload"]
59 fn build_attribute(self) -> crate::app::basicmenuitem::BasicMenuItem_Attribute {
60 unsafe {
61 let __receiver = <UnitItemMenuItem as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
62 {
63 let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
64 let __vi = *__vt.get(8usize).unwrap_or_else(|| {
65 panic!(
66 "unity: virtual slot {}
67 out of range (vtable len {}
68) on the runtime class behind {}
69 (method `{}
70`)",
71 8usize,
72 __vt.len(),
73 <UnitItemMenuItem as ::unity::ClassIdentity>::NAME,
74 "BuildAttribute",
75 )
76 });
77 let __inner: extern "C" fn(UnitItemMenuItem, ::unity::OptionalMethod) -> crate::app::basicmenuitem::BasicMenuItem_Attribute =
78 ::core::mem::transmute(__vi.method_ptr);
79 let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
80 __inner(__receiver, __mi)
81 }
82 }
83 }
84 #[doc = "`GetUnitItem()` overload"]
85 fn get_unit_item(self) -> crate::app::unititem::UnitItem {
86 unsafe {
87 let __receiver = <UnitItemMenuItem as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
88 {
89 let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
90 let __vi = *__vt.get(27usize).unwrap_or_else(|| {
91 panic!(
92 "unity: virtual slot {}
93 out of range (vtable len {}
94) on the runtime class behind {}
95 (method `{}
96`)",
97 27usize,
98 __vt.len(),
99 <UnitItemMenuItem as ::unity::ClassIdentity>::NAME,
100 "GetUnitItem",
101 )
102 });
103 let __inner: extern "C" fn(UnitItemMenuItem, ::unity::OptionalMethod) -> crate::app::unititem::UnitItem =
104 ::core::mem::transmute(__vi.method_ptr);
105 let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
106 __inner(__receiver, __mi)
107 }
108 }
109 }
110 #[doc = "`GetUnit()` overload"]
111 fn get_unit(self) -> crate::app::unit::Unit {
112 unsafe {
113 let __receiver = <UnitItemMenuItem as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
114 {
115 let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
116 let __vi = *__vt.get(28usize).unwrap_or_else(|| {
117 panic!(
118 "unity: virtual slot {}
119 out of range (vtable len {}
120) on the runtime class behind {}
121 (method `{}
122`)",
123 28usize,
124 __vt.len(),
125 <UnitItemMenuItem as ::unity::ClassIdentity>::NAME,
126 "GetUnit",
127 )
128 });
129 let __inner: extern "C" fn(UnitItemMenuItem, ::unity::OptionalMethod) -> crate::app::unit::Unit =
130 ::core::mem::transmute(__vi.method_ptr);
131 let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
132 __inner(__receiver, __mi)
133 }
134 }
135 }
136 #[doc = "`GetRecieverUnit()` overload"]
137 fn get_reciever_unit(self) -> crate::app::unit::Unit {
138 unsafe {
139 let __receiver = <UnitItemMenuItem as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
140 {
141 let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
142 let __vi = *__vt.get(29usize).unwrap_or_else(|| {
143 panic!(
144 "unity: virtual slot {}
145 out of range (vtable len {}
146) on the runtime class behind {}
147 (method `{}
148`)",
149 29usize,
150 __vt.len(),
151 <UnitItemMenuItem as ::unity::ClassIdentity>::NAME,
152 "GetRecieverUnit",
153 )
154 });
155 let __inner: extern "C" fn(UnitItemMenuItem, ::unity::OptionalMethod) -> crate::app::unit::Unit =
156 ::core::mem::transmute(__vi.method_ptr);
157 let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
158 __inner(__receiver, __mi)
159 }
160 }
161 }
162 #[doc = "`IsVisibleItemIconOnBlank()` overload"]
163 fn is_visible_item_icon_on_blank(self) -> bool {
164 unsafe {
165 let __receiver = <UnitItemMenuItem as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
166 {
167 let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
168 let __vi = *__vt.get(31usize).unwrap_or_else(|| {
169 panic!(
170 "unity: virtual slot {}
171 out of range (vtable len {}
172) on the runtime class behind {}
173 (method `{}
174`)",
175 31usize,
176 __vt.len(),
177 <UnitItemMenuItem as ::unity::ClassIdentity>::NAME,
178 "IsVisibleItemIconOnBlank",
179 )
180 });
181 let __inner: extern "C" fn(UnitItemMenuItem, ::unity::OptionalMethod) -> bool = ::core::mem::transmute(__vi.method_ptr);
182 let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
183 __inner(__receiver, __mi)
184 }
185 }
186 }
187 #[doc = "`OnSelect()` overload"]
188 fn on_select(self) -> () {
189 unsafe {
190 let __receiver = <UnitItemMenuItem as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
191 {
192 let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
193 let __vi = *__vt.get(12usize).unwrap_or_else(|| {
194 panic!(
195 "unity: virtual slot {}
196 out of range (vtable len {}
197) on the runtime class behind {}
198 (method `{}
199`)",
200 12usize,
201 __vt.len(),
202 <UnitItemMenuItem as ::unity::ClassIdentity>::NAME,
203 "OnSelect",
204 )
205 });
206 let __inner: extern "C" fn(UnitItemMenuItem, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
207 let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
208 __inner(__receiver, __mi)
209 }
210 }
211 }
212 #[doc = "`ACall()` overload"]
213 fn a_call(self) -> crate::app::basicmenu::BasicMenu_Result {
214 unsafe {
215 let __receiver = <UnitItemMenuItem as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
216 {
217 let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
218 let __vi = *__vt.get(18usize).unwrap_or_else(|| {
219 panic!(
220 "unity: virtual slot {}
221 out of range (vtable len {}
222) on the runtime class behind {}
223 (method `{}
224`)",
225 18usize,
226 __vt.len(),
227 <UnitItemMenuItem as ::unity::ClassIdentity>::NAME,
228 "ACall",
229 )
230 });
231 let __inner: extern "C" fn(UnitItemMenuItem, ::unity::OptionalMethod) -> crate::app::basicmenu::BasicMenu_Result =
232 ::core::mem::transmute(__vi.method_ptr);
233 let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
234 __inner(__receiver, __mi)
235 }
236 }
237 }
238 #[doc = "`BCall()` overload"]
239 fn b_call(self) -> crate::app::basicmenu::BasicMenu_Result {
240 unsafe {
241 let __receiver = <UnitItemMenuItem as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
242 {
243 let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
244 let __vi = *__vt.get(19usize).unwrap_or_else(|| {
245 panic!(
246 "unity: virtual slot {}
247 out of range (vtable len {}
248) on the runtime class behind {}
249 (method `{}
250`)",
251 19usize,
252 __vt.len(),
253 <UnitItemMenuItem as ::unity::ClassIdentity>::NAME,
254 "BCall",
255 )
256 });
257 let __inner: extern "C" fn(UnitItemMenuItem, ::unity::OptionalMethod) -> crate::app::basicmenu::BasicMenu_Result =
258 ::core::mem::transmute(__vi.method_ptr);
259 let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
260 __inner(__receiver, __mi)
261 }
262 }
263 }
264}
265
266#[cfg(feature = "app-unititemmenuitem")]
267impl<__T: IUnitItemMenuItem> IUnitItemMenuItemMethods for __T {}
268
269#[cfg(feature = "app-unititemmenuitem")]
270impl UnitItemMenuItem {
271 pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
272 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
273 }
274
275 pub fn build_attribute_method_info() -> &'static ::unity::il2cpp::MethodInfo {
276 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
277 }
278
279 pub fn get_unit_item_method_info() -> &'static ::unity::il2cpp::MethodInfo {
280 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
281 }
282
283 pub fn get_unit_method_info() -> &'static ::unity::il2cpp::MethodInfo {
284 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[3]
285 }
286
287 pub fn get_reciever_unit_method_info() -> &'static ::unity::il2cpp::MethodInfo {
288 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[4]
289 }
290
291 pub fn is_visible_item_icon_on_blank_method_info() -> &'static ::unity::il2cpp::MethodInfo {
292 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[5]
293 }
294
295 pub fn on_select_method_info() -> &'static ::unity::il2cpp::MethodInfo {
296 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[6]
297 }
298
299 pub fn a_call_method_info() -> &'static ::unity::il2cpp::MethodInfo {
300 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[7]
301 }
302
303 pub fn b_call_method_info() -> &'static ::unity::il2cpp::MethodInfo {
304 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[8]
305 }
306}
307
308#[cfg(feature = "app-unititemmenuitem")]
309impl UnitItemMenuItem {
310 #[doc = "Direct (non-virtual) call to `UnitItemMenuItem`'s own `BuildAttribute`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
311 pub unsafe fn build_attribute(this: impl ::core::convert::Into<::unity::IlInstance>) -> crate::app::basicmenuitem::BasicMenuItem_Attribute {
312 let __mi = Self::build_attribute_method_info();
313 let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> crate::app::basicmenuitem::BasicMenuItem_Attribute =
314 ::core::mem::transmute(__mi.method_ptr);
315 __inner(this.into(), ::core::option::Option::None)
316 }
317
318 #[doc = "Direct (non-virtual) call to `UnitItemMenuItem`'s own `GetUnitItem`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
319 pub unsafe fn get_unit_item(this: impl ::core::convert::Into<::unity::IlInstance>) -> crate::app::unititem::UnitItem {
320 let __mi = Self::get_unit_item_method_info();
321 let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> crate::app::unititem::UnitItem =
322 ::core::mem::transmute(__mi.method_ptr);
323 __inner(this.into(), ::core::option::Option::None)
324 }
325
326 #[doc = "Direct (non-virtual) call to `UnitItemMenuItem`'s own `GetUnit`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
327 pub unsafe fn get_unit(this: impl ::core::convert::Into<::unity::IlInstance>) -> crate::app::unit::Unit {
328 let __mi = Self::get_unit_method_info();
329 let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> crate::app::unit::Unit = ::core::mem::transmute(__mi.method_ptr);
330 __inner(this.into(), ::core::option::Option::None)
331 }
332
333 #[doc = "Direct (non-virtual) call to `UnitItemMenuItem`'s own `GetRecieverUnit`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
334 pub unsafe fn get_reciever_unit(this: impl ::core::convert::Into<::unity::IlInstance>) -> crate::app::unit::Unit {
335 let __mi = Self::get_reciever_unit_method_info();
336 let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> crate::app::unit::Unit = ::core::mem::transmute(__mi.method_ptr);
337 __inner(this.into(), ::core::option::Option::None)
338 }
339
340 #[doc = "Direct (non-virtual) call to `UnitItemMenuItem`'s own `IsVisibleItemIconOnBlank`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
341 pub unsafe fn is_visible_item_icon_on_blank(this: impl ::core::convert::Into<::unity::IlInstance>) -> bool {
342 let __mi = Self::is_visible_item_icon_on_blank_method_info();
343 let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> bool = ::core::mem::transmute(__mi.method_ptr);
344 __inner(this.into(), ::core::option::Option::None)
345 }
346
347 #[doc = "Direct (non-virtual) call to `UnitItemMenuItem`'s own `OnSelect`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
348 pub unsafe fn on_select(this: impl ::core::convert::Into<::unity::IlInstance>) -> () {
349 let __mi = Self::on_select_method_info();
350 let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
351 __inner(this.into(), ::core::option::Option::None)
352 }
353
354 #[doc = "Direct (non-virtual) call to `UnitItemMenuItem`'s own `ACall`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
355 pub unsafe fn a_call(this: impl ::core::convert::Into<::unity::IlInstance>) -> crate::app::basicmenu::BasicMenu_Result {
356 let __mi = Self::a_call_method_info();
357 let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> crate::app::basicmenu::BasicMenu_Result =
358 ::core::mem::transmute(__mi.method_ptr);
359 __inner(this.into(), ::core::option::Option::None)
360 }
361
362 #[doc = "Direct (non-virtual) call to `UnitItemMenuItem`'s own `BCall`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
363 pub unsafe fn b_call(this: impl ::core::convert::Into<::unity::IlInstance>) -> crate::app::basicmenu::BasicMenu_Result {
364 let __mi = Self::b_call_method_info();
365 let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> crate::app::basicmenu::BasicMenu_Result =
366 ::core::mem::transmute(__mi.method_ptr);
367 __inner(this.into(), ::core::option::Option::None)
368 }
369}
370
371#[cfg(feature = "app-unititemmenuitem")]
372impl UnitItemMenuItem {
373 #[doc = "`.ctor(i32, bool, crate::app::unititemmenu::UnitItemMenu_SelectEventHandler, crate::app::unititemmenu::UnitItemMenu_DecideEventHandler, crate::app::unititemmenu::UnitItemMenu_RequestCloseEventHandler)` — overload selector"]
374 pub fn new(
375 i: i32,
376 selectable_blank: bool,
377 select_event_handler: crate::app::unititemmenu::UnitItemMenu_SelectEventHandler,
378 decide_event_handler: crate::app::unititemmenu::UnitItemMenu_DecideEventHandler,
379 request_close_event_handler: crate::app::unititemmenu::UnitItemMenu_RequestCloseEventHandler,
380 ) -> Self {
381 let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
382 panic!(
383 "{}
384::{}
385 failed to instantiate",
386 ::core::stringify!(UnitItemMenuItem),
387 ::core::stringify!(new),
388 )
389 });
390 <Self as IUnitItemMenuItemMethods>::ctor(
391 this,
392 i,
393 selectable_blank,
394 select_event_handler,
395 decide_event_handler,
396 request_close_event_handler,
397 );
398 this
399 }
400}
401
402#[cfg(feature = "app-unititemmenuitem")]
403#[doc(hidden)]
404pub mod prelude {
405 pub use super::{IUnitItemMenuItem, IUnitItemMenuItemMethods, UnitItemMenuItem};
406 #[cfg(feature = "app-basicitemmenuitem")]
407 pub use crate::app::basicitemmenuitem::IBasicItemMenuItemMethods;
408 #[cfg(feature = "app-basicmenuitem")]
409 pub use crate::app::basicmenuitem::IBasicMenuItemMethods;
410 #[cfg(feature = "system-object")]
411 pub use crate::system::object::IObjectMethods;
412 pub use crate::{
413 app::{basicitemmenuitem::IBasicItemMenuItem, basicmenuitem::IBasicMenuItem},
414 system::object::IObject,
415 };
416}