engage/generated/root_motion/final_ik/
iksolverarm.rs1#[cfg(feature = "root_motion-final_ik-iksolverarm-types")]
4mod __types {
5 #[allow(unused_imports)] use ::unity::prelude::*;
6
7 use super::*;
8 use crate::{
9 root_motion::final_ik::iksolver::{IIKSolver, IKSolver},
10 system::object::{IObject, Object},
11 };
12
13 #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/root_motion/final_ik/iksolverarm/IKSolverArm.md"))]
14 #[::unity::class(namespace = "RootMotion.FinalIK", name = "IKSolverArm")]
15 #[parent(crate::root_motion::final_ik::iksolver::IKSolver)]
16 pub struct IKSolverArm {
17 #[offset(88)]
18 #[rename(name = "IKRotationWeight")]
19 pub ik_rotation_weight: f32,
20 #[offset(92)]
21 #[rename(name = "IKRotation")]
22 pub ik_rotation: crate::unity_engine::quaternion::Quaternion,
23 #[offset(112)]
24 #[rename(name = "chest")]
25 pub chest: crate::root_motion::final_ik::iksolver::IKSolver_Point,
26 #[offset(120)]
27 #[rename(name = "shoulder")]
28 pub shoulder: crate::root_motion::final_ik::iksolver::IKSolver_Point,
29 #[offset(128)]
30 #[rename(name = "upperArm")]
31 pub upper_arm: crate::root_motion::final_ik::iksolver::IKSolver_Point,
32 #[offset(136)]
33 #[rename(name = "forearm")]
34 pub forearm: crate::root_motion::final_ik::iksolver::IKSolver_Point,
35 #[offset(144)]
36 #[rename(name = "hand")]
37 pub hand: crate::root_motion::final_ik::iksolver::IKSolver_Point,
38 #[offset(152)]
39 #[rename(name = "isLeft")]
40 pub is_left: bool,
41 #[offset(160)]
42 #[rename(name = "arm")]
43 pub arm: crate::root_motion::final_ik::iksolvervr::IKSolverVR_Arm,
44 #[offset(168)]
45 #[rename(name = "positions")]
46 pub positions: ::unity::Array<crate::unity_engine::vector3::Vector3>,
47 #[offset(176)]
48 #[rename(name = "rotations")]
49 pub rotations: ::unity::Array<crate::unity_engine::quaternion::Quaternion>,
50 }
51}
52
53#[cfg(feature = "root_motion-final_ik-iksolverarm-types")]
54pub use __types::*;
55
56#[cfg(feature = "root_motion-final_ik-iksolverarm")]
57pub trait IIKSolverArmMethods: IIKSolverArm {
58 #[doc = "`IsValid(*mut::unity::Il2CppString)` overload"]
59 fn is_valid(self) -> (bool, ::unity::Il2CppString) {
60 unsafe {
61 let __receiver = <IKSolverArm as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
62 let mut __out_0 = ::core::mem::MaybeUninit::<::unity::Il2CppString>::uninit();
63 let __ret = {
64 {
65 let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
66 let __vi = *__vt.get(4usize).unwrap_or_else(|| {
67 panic!(
68 "unity: virtual slot {}
69 out of range (vtable len {}
70) on the runtime class behind {}
71 (method `{}
72`)",
73 4usize,
74 __vt.len(),
75 <IKSolverArm as ::unity::ClassIdentity>::NAME,
76 "IsValid",
77 )
78 });
79 let __inner: extern "C" fn(IKSolverArm, *mut ::unity::Il2CppString, ::unity::OptionalMethod) -> bool =
80 ::core::mem::transmute(__vi.method_ptr);
81 let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
82 __inner(__receiver, __out_0.as_mut_ptr(), __mi)
83 }
84 };
85 (__ret, __out_0.assume_init())
86 }
87 }
88 #[doc = "`SetChain(crate::unity_engine::transform::Transform, crate::unity_engine::transform::Transform, crate::unity_engine::transform::Transform, crate::unity_engine::transform::Transform, crate::unity_engine::transform::Transform, crate::unity_engine::transform::Transform)` overload"]
89 fn set_chain(
90 self,
91 chest: impl ::core::convert::Into<crate::unity_engine::transform::Transform>,
92 shoulder: impl ::core::convert::Into<crate::unity_engine::transform::Transform>,
93 upper_arm: impl ::core::convert::Into<crate::unity_engine::transform::Transform>,
94 forearm: impl ::core::convert::Into<crate::unity_engine::transform::Transform>,
95 hand: impl ::core::convert::Into<crate::unity_engine::transform::Transform>,
96 root: impl ::core::convert::Into<crate::unity_engine::transform::Transform>,
97 ) -> bool {
98 unsafe {
99 let __receiver = <IKSolverArm as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
100 ::unity::il2cpp_call!((::unity::module_base()+0x3c27e70usize)as*mut u8,bool;
101(IKSolverArm)__receiver,(crate::unity_engine::transform::Transform)::core::convert::Into::into(chest),(crate::unity_engine::transform::Transform)::core::convert::Into::into(shoulder),(crate::unity_engine::transform::Transform)::core::convert::Into::into(upper_arm),(crate::unity_engine::transform::Transform)::core::convert::Into::into(forearm),(crate::unity_engine::transform::Transform)::core::convert::Into::into(hand),(crate::unity_engine::transform::Transform)::core::convert::Into::into(root))
102 }
103 }
104 #[doc = "`GetPoints()` overload"]
105 fn get_points(self) -> ::unity::Array<crate::root_motion::final_ik::iksolver::IKSolver_Point> {
106 unsafe {
107 let __receiver = <IKSolverArm as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
108 {
109 let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
110 let __vi = *__vt.get(6usize).unwrap_or_else(|| {
111 panic!(
112 "unity: virtual slot {}
113 out of range (vtable len {}
114) on the runtime class behind {}
115 (method `{}
116`)",
117 6usize,
118 __vt.len(),
119 <IKSolverArm as ::unity::ClassIdentity>::NAME,
120 "GetPoints",
121 )
122 });
123 let __inner: extern "C" fn(
124 IKSolverArm,
125 ::unity::OptionalMethod,
126 ) -> ::unity::Array<crate::root_motion::final_ik::iksolver::IKSolver_Point> = ::core::mem::transmute(__vi.method_ptr);
127 let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
128 __inner(__receiver, __mi)
129 }
130 }
131 }
132 #[doc = "`GetPoint(crate::unity_engine::transform::Transform)` overload"]
133 fn get_point(
134 self,
135 transform: impl ::core::convert::Into<crate::unity_engine::transform::Transform>,
136 ) -> crate::root_motion::final_ik::iksolver::IKSolver_Point {
137 unsafe {
138 let __receiver = <IKSolverArm as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
139 {
140 let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
141 let __vi = *__vt.get(7usize).unwrap_or_else(|| {
142 panic!(
143 "unity: virtual slot {}
144 out of range (vtable len {}
145) on the runtime class behind {}
146 (method `{}
147`)",
148 7usize,
149 __vt.len(),
150 <IKSolverArm as ::unity::ClassIdentity>::NAME,
151 "GetPoint",
152 )
153 });
154 let __inner: extern "C" fn(
155 IKSolverArm,
156 crate::unity_engine::transform::Transform,
157 ::unity::OptionalMethod,
158 ) -> crate::root_motion::final_ik::iksolver::IKSolver_Point = ::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, ::core::convert::Into::into(transform), __mi)
161 }
162 }
163 }
164 #[doc = "`StoreDefaultLocalState()` overload"]
165 fn store_default_local_state(self) -> () {
166 unsafe {
167 let __receiver = <IKSolverArm as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
168 {
169 let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
170 let __vi = *__vt.get(9usize).unwrap_or_else(|| {
171 panic!(
172 "unity: virtual slot {}
173 out of range (vtable len {}
174) on the runtime class behind {}
175 (method `{}
176`)",
177 9usize,
178 __vt.len(),
179 <IKSolverArm as ::unity::ClassIdentity>::NAME,
180 "StoreDefaultLocalState",
181 )
182 });
183 let __inner: extern "C" fn(IKSolverArm, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
184 let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
185 __inner(__receiver, __mi)
186 }
187 }
188 }
189 #[doc = "`FixTransforms()` overload"]
190 fn fix_transforms(self) -> () {
191 unsafe {
192 let __receiver = <IKSolverArm as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
193 {
194 let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
195 let __vi = *__vt.get(8usize).unwrap_or_else(|| {
196 panic!(
197 "unity: virtual slot {}
198 out of range (vtable len {}
199) on the runtime class behind {}
200 (method `{}
201`)",
202 8usize,
203 __vt.len(),
204 <IKSolverArm as ::unity::ClassIdentity>::NAME,
205 "FixTransforms",
206 )
207 });
208 let __inner: extern "C" fn(IKSolverArm, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
209 let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
210 __inner(__receiver, __mi)
211 }
212 }
213 }
214 #[doc = "`OnInitiate()` overload"]
215 fn on_initiate(self) -> () {
216 unsafe {
217 let __receiver = <IKSolverArm as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
218 {
219 let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
220 let __vi = *__vt.get(10usize).unwrap_or_else(|| {
221 panic!(
222 "unity: virtual slot {}
223 out of range (vtable len {}
224) on the runtime class behind {}
225 (method `{}
226`)",
227 10usize,
228 __vt.len(),
229 <IKSolverArm as ::unity::ClassIdentity>::NAME,
230 "OnInitiate",
231 )
232 });
233 let __inner: extern "C" fn(IKSolverArm, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
234 let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
235 __inner(__receiver, __mi)
236 }
237 }
238 }
239 #[doc = "`OnUpdate()` overload"]
240 fn on_update(self) -> () {
241 unsafe {
242 let __receiver = <IKSolverArm as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
243 {
244 let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
245 let __vi = *__vt.get(11usize).unwrap_or_else(|| {
246 panic!(
247 "unity: virtual slot {}
248 out of range (vtable len {}
249) on the runtime class behind {}
250 (method `{}
251`)",
252 11usize,
253 __vt.len(),
254 <IKSolverArm as ::unity::ClassIdentity>::NAME,
255 "OnUpdate",
256 )
257 });
258 let __inner: extern "C" fn(IKSolverArm, ::unity::OptionalMethod) -> () = ::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 #[doc = "`Solve()` overload"]
265 fn solve(self) -> () {
266 unsafe {
267 let __receiver = <IKSolverArm as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
268 ::unity::il2cpp_call!((::unity::module_base()+0x3c28630usize)as*mut u8,();
269(IKSolverArm)__receiver)
270 }
271 }
272 #[doc = "`Read()` overload"]
273 fn read(self) -> () {
274 unsafe {
275 let __receiver = <IKSolverArm as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
276 ::unity::il2cpp_call!((::unity::module_base()+0x3c28330usize)as*mut u8,();
277(IKSolverArm)__receiver)
278 }
279 }
280 #[doc = "`Write()` overload"]
281 fn write(self) -> () {
282 unsafe {
283 let __receiver = <IKSolverArm as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
284 ::unity::il2cpp_call!((::unity::module_base()+0x3c28690usize)as*mut u8,();
285(IKSolverArm)__receiver)
286 }
287 }
288 #[doc = "`.ctor()` overload"]
289 fn ctor(self) -> () {
290 unsafe {
291 let __receiver = <IKSolverArm as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
292 ::unity::il2cpp_call!((::unity::module_base()+0x3c287c0usize)as*mut u8,();
293(IKSolverArm)__receiver)
294 }
295 }
296}
297
298#[cfg(feature = "root_motion-final_ik-iksolverarm")]
299impl<__T: IIKSolverArm> IIKSolverArmMethods for __T {}
300
301#[cfg(feature = "root_motion-final_ik-iksolverarm")]
302impl IKSolverArm {
303 pub fn is_valid_method_info() -> &'static ::unity::il2cpp::MethodInfo {
304 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
305 }
306
307 pub fn set_chain_method_info() -> &'static ::unity::il2cpp::MethodInfo {
308 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
309 }
310
311 pub fn get_points_method_info() -> &'static ::unity::il2cpp::MethodInfo {
312 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
313 }
314
315 pub fn get_point_method_info() -> &'static ::unity::il2cpp::MethodInfo {
316 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[3]
317 }
318
319 pub fn store_default_local_state_method_info() -> &'static ::unity::il2cpp::MethodInfo {
320 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[4]
321 }
322
323 pub fn fix_transforms_method_info() -> &'static ::unity::il2cpp::MethodInfo {
324 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[5]
325 }
326
327 pub fn on_initiate_method_info() -> &'static ::unity::il2cpp::MethodInfo {
328 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[6]
329 }
330
331 pub fn on_update_method_info() -> &'static ::unity::il2cpp::MethodInfo {
332 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[7]
333 }
334
335 pub fn solve_method_info() -> &'static ::unity::il2cpp::MethodInfo {
336 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[8]
337 }
338
339 pub fn read_method_info() -> &'static ::unity::il2cpp::MethodInfo {
340 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[9]
341 }
342
343 pub fn write_method_info() -> &'static ::unity::il2cpp::MethodInfo {
344 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[10]
345 }
346
347 pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
348 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[11]
349 }
350}
351
352#[cfg(feature = "root_motion-final_ik-iksolverarm")]
353impl IKSolverArm {
354 #[doc = "Direct (non-virtual) call to `IKSolverArm`'s own `IsValid`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
355 pub unsafe fn is_valid(this: impl ::core::convert::Into<::unity::IlInstance>, message: *mut ::unity::Il2CppString) -> bool {
356 let __mi = Self::is_valid_method_info();
357 let __inner: extern "C" fn(::unity::IlInstance, *mut ::unity::Il2CppString, ::unity::OptionalMethod) -> bool =
358 ::core::mem::transmute(__mi.method_ptr);
359 __inner(this.into(), message, ::core::option::Option::None)
360 }
361
362 #[doc = "Direct (non-virtual) call to `IKSolverArm`'s own `GetPoints`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
363 pub unsafe fn get_points(
364 this: impl ::core::convert::Into<::unity::IlInstance>,
365 ) -> ::unity::Array<crate::root_motion::final_ik::iksolver::IKSolver_Point> {
366 let __mi = Self::get_points_method_info();
367 let __inner: extern "C" fn(
368 ::unity::IlInstance,
369 ::unity::OptionalMethod,
370 ) -> ::unity::Array<crate::root_motion::final_ik::iksolver::IKSolver_Point> = ::core::mem::transmute(__mi.method_ptr);
371 __inner(this.into(), ::core::option::Option::None)
372 }
373
374 #[doc = "Direct (non-virtual) call to `IKSolverArm`'s own `GetPoint`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
375 pub unsafe fn get_point(
376 this: impl ::core::convert::Into<::unity::IlInstance>,
377 transform: crate::unity_engine::transform::Transform,
378 ) -> crate::root_motion::final_ik::iksolver::IKSolver_Point {
379 let __mi = Self::get_point_method_info();
380 let __inner: extern "C" fn(
381 ::unity::IlInstance,
382 crate::unity_engine::transform::Transform,
383 ::unity::OptionalMethod,
384 ) -> crate::root_motion::final_ik::iksolver::IKSolver_Point = ::core::mem::transmute(__mi.method_ptr);
385 __inner(this.into(), transform, ::core::option::Option::None)
386 }
387
388 #[doc = "Direct (non-virtual) call to `IKSolverArm`'s own `StoreDefaultLocalState`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
389 pub unsafe fn store_default_local_state(this: impl ::core::convert::Into<::unity::IlInstance>) -> () {
390 let __mi = Self::store_default_local_state_method_info();
391 let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
392 __inner(this.into(), ::core::option::Option::None)
393 }
394
395 #[doc = "Direct (non-virtual) call to `IKSolverArm`'s own `FixTransforms`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
396 pub unsafe fn fix_transforms(this: impl ::core::convert::Into<::unity::IlInstance>) -> () {
397 let __mi = Self::fix_transforms_method_info();
398 let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
399 __inner(this.into(), ::core::option::Option::None)
400 }
401
402 #[doc = "Direct (non-virtual) call to `IKSolverArm`'s own `OnInitiate`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
403 pub unsafe fn on_initiate(this: impl ::core::convert::Into<::unity::IlInstance>) -> () {
404 let __mi = Self::on_initiate_method_info();
405 let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
406 __inner(this.into(), ::core::option::Option::None)
407 }
408
409 #[doc = "Direct (non-virtual) call to `IKSolverArm`'s own `OnUpdate`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
410 pub unsafe fn on_update(this: impl ::core::convert::Into<::unity::IlInstance>) -> () {
411 let __mi = Self::on_update_method_info();
412 let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
413 __inner(this.into(), ::core::option::Option::None)
414 }
415}
416
417#[cfg(feature = "root_motion-final_ik-iksolverarm")]
418impl IKSolverArm {
419 #[doc = "`.ctor()` — no args"]
420 pub fn new() -> Self {
421 let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
422 panic!(
423 "{}
424::{}
425 failed to instantiate",
426 ::core::stringify!(IKSolverArm),
427 ::core::stringify!(new),
428 )
429 });
430 <Self as IIKSolverArmMethods>::ctor(this);
431 this
432 }
433}
434
435#[cfg(feature = "root_motion-final_ik-iksolverarm")]
436#[doc(hidden)]
437pub mod prelude {
438 pub use super::{IIKSolverArm, IIKSolverArmMethods, IKSolverArm};
439 #[cfg(feature = "root_motion-final_ik-iksolver")]
440 pub use crate::root_motion::final_ik::iksolver::IIKSolverMethods;
441 #[cfg(feature = "system-object")]
442 pub use crate::system::object::IObjectMethods;
443 pub use crate::{
444 root_motion::final_ik::iksolver::{IIKSolver, IKSolver},
445 system::object::IObject,
446 };
447}