engage/generated/app/
procdesccallbase.rs1#[cfg(feature = "app-procdesccallbase-types")]
4mod __types {
5 #[allow(unused_imports)] use ::unity::prelude::*;
6
7 use super::*;
8 use crate::{
9 app::procdesc::{IProcDesc, ProcDesc},
10 system::object::{IObject, Object},
11 };
12
13 #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/app/procdesccallbase/ProcDescCallBase.md"))]
14 #[::unity::class(namespace = "App", name = "ProcDescCallBase")]
15 #[parent(crate::app::procdesc::ProcDesc)]
16 pub struct ProcDescCallBase {}
17}
18
19#[cfg(feature = "app-procdesccallbase-types")]
20pub use __types::*;
21
22#[cfg(feature = "app-procdesccallbase")]
23pub trait IProcDescCallBaseMethods: IProcDescCallBase {
24 #[doc = "`.ctor(crate::app::procdesc::ProcDesc_Type)` overload"]
25 fn ctor(self, r#type: impl ::core::convert::Into<crate::app::procdesc::ProcDesc_Type>) -> () {
26 unsafe {
27 let __receiver = <ProcDescCallBase as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
28 ::unity::il2cpp_call!((::unity::module_base()+0x281cd90usize)as*mut u8,();
29(ProcDescCallBase)__receiver,(crate::app::procdesc::ProcDesc_Type)::core::convert::Into::into(r#type))
30 }
31 }
32 #[doc = "`Execute(crate::app::procinst::ProcInst)` overload"]
33 fn execute(self, inst: impl ::core::convert::Into<crate::app::procinst::ProcInst>) -> crate::app::procdesc::ProcDesc_Result {
34 unsafe {
35 let __receiver = <ProcDescCallBase as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
36 {
37 let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
38 let __vi = *__vt.get(4usize).unwrap_or_else(|| {
39 panic!(
40 "unity: virtual slot {}
41 out of range (vtable len {}
42) on the runtime class behind {}
43 (method `{}
44`)",
45 4usize,
46 __vt.len(),
47 <ProcDescCallBase as ::unity::ClassIdentity>::NAME,
48 "Execute",
49 )
50 });
51 let __inner: extern "C" fn(
52 ProcDescCallBase,
53 crate::app::procinst::ProcInst,
54 ::unity::OptionalMethod,
55 ) -> crate::app::procdesc::ProcDesc_Result = ::core::mem::transmute(__vi.method_ptr);
56 let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
57 __inner(__receiver, ::core::convert::Into::into(inst), __mi)
58 }
59 }
60 }
61 #[doc = "`ExecuteImpl(crate::app::procinst::ProcInst)` overload"]
62 fn execute_impl(self, inst: impl ::core::convert::Into<crate::app::procinst::ProcInst>) -> () {
63 unsafe {
64 let __receiver = <ProcDescCallBase as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
65 {
66 let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
67 let __vi = *__vt.get(7usize).unwrap_or_else(|| {
68 panic!(
69 "unity: virtual slot {}
70 out of range (vtable len {}
71) on the runtime class behind {}
72 (method `{}
73`)",
74 7usize,
75 __vt.len(),
76 <ProcDescCallBase as ::unity::ClassIdentity>::NAME,
77 "ExecuteImpl",
78 )
79 });
80 let __inner: extern "C" fn(ProcDescCallBase, crate::app::procinst::ProcInst, ::unity::OptionalMethod) -> () =
81 ::core::mem::transmute(__vi.method_ptr);
82 let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
83 __inner(__receiver, ::core::convert::Into::into(inst), __mi)
84 }
85 }
86 }
87}
88
89#[cfg(feature = "app-procdesccallbase")]
90impl<__T: IProcDescCallBase> IProcDescCallBaseMethods for __T {}
91
92#[cfg(feature = "app-procdesccallbase")]
93impl ProcDescCallBase {
94 pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
95 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
96 }
97
98 pub fn execute_method_info() -> &'static ::unity::il2cpp::MethodInfo {
99 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
100 }
101
102 pub fn execute_impl_method_info() -> &'static ::unity::il2cpp::MethodInfo {
103 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
104 }
105}
106
107#[cfg(feature = "app-procdesccallbase")]
108impl ProcDescCallBase {
109 #[doc = "Direct (non-virtual) call to `ProcDescCallBase`'s own `Execute`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
110 pub unsafe fn execute(
111 this: impl ::core::convert::Into<::unity::IlInstance>,
112 inst: crate::app::procinst::ProcInst,
113 ) -> crate::app::procdesc::ProcDesc_Result {
114 let __mi = Self::execute_method_info();
115 let __inner: extern "C" fn(
116 ::unity::IlInstance,
117 crate::app::procinst::ProcInst,
118 ::unity::OptionalMethod,
119 ) -> crate::app::procdesc::ProcDesc_Result = ::core::mem::transmute(__mi.method_ptr);
120 __inner(this.into(), inst, ::core::option::Option::None)
121 }
122
123 #[doc = "Direct (non-virtual) call to `ProcDescCallBase`'s own `ExecuteImpl`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
124 pub unsafe fn execute_impl(this: impl ::core::convert::Into<::unity::IlInstance>, inst: crate::app::procinst::ProcInst) -> () {
125 let __mi = Self::execute_impl_method_info();
126 let __inner: extern "C" fn(::unity::IlInstance, crate::app::procinst::ProcInst, ::unity::OptionalMethod) -> () =
127 ::core::mem::transmute(__mi.method_ptr);
128 __inner(this.into(), inst, ::core::option::Option::None)
129 }
130}
131
132#[cfg(feature = "app-procdesccallbase")]
133impl ProcDescCallBase {
134 #[doc = "`.ctor(crate::app::procdesc::ProcDesc_Type)` — overload selector"]
135 pub fn new(r#type: crate::app::procdesc::ProcDesc_Type) -> Self {
136 let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
137 panic!(
138 "{}
139::{}
140 failed to instantiate",
141 ::core::stringify!(ProcDescCallBase),
142 ::core::stringify!(new),
143 )
144 });
145 <Self as IProcDescCallBaseMethods>::ctor(this, r#type);
146 this
147 }
148}
149
150#[cfg(feature = "app-procdesccallbase")]
151#[doc(hidden)]
152pub mod prelude {
153 pub use super::{IProcDescCallBase, IProcDescCallBaseMethods, ProcDescCallBase};
154 #[cfg(feature = "app-procdesc")]
155 pub use crate::app::procdesc::IProcDescMethods;
156 #[cfg(feature = "system-object")]
157 pub use crate::system::object::IObjectMethods;
158 pub use crate::{app::procdesc::IProcDesc, system::object::IObject};
159}