Skip to main content

engage/generated/root_motion/final_ik/
iksolverleg.rs

1// @generated by il2cpp-bindgen — do not edit by hand.
2
3#[cfg(feature = "root_motion-final_ik-iksolverleg-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/iksolverleg/IKSolverLeg.md"))]
14    #[::unity::class(namespace = "RootMotion.FinalIK", name = "IKSolverLeg")]
15    #[parent(crate::root_motion::final_ik::iksolver::IKSolver)]
16    pub struct IKSolverLeg {
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 = "pelvis")]
25        pub pelvis: crate::root_motion::final_ik::iksolver::IKSolver_Point,
26        #[offset(120)]
27        #[rename(name = "thigh")]
28        pub thigh: crate::root_motion::final_ik::iksolver::IKSolver_Point,
29        #[offset(128)]
30        #[rename(name = "calf")]
31        pub calf: crate::root_motion::final_ik::iksolver::IKSolver_Point,
32        #[offset(136)]
33        #[rename(name = "foot")]
34        pub foot: crate::root_motion::final_ik::iksolver::IKSolver_Point,
35        #[offset(144)]
36        #[rename(name = "toe")]
37        pub toe: crate::root_motion::final_ik::iksolver::IKSolver_Point,
38        #[offset(152)]
39        #[rename(name = "leg")]
40        pub leg: crate::root_motion::final_ik::iksolvervr::IKSolverVR_Leg,
41        #[offset(160)]
42        #[rename(name = "heelOffset")]
43        pub heel_offset: crate::unity_engine::vector3::Vector3,
44        #[offset(176)]
45        #[rename(name = "positions")]
46        pub positions: ::unity::Array<crate::unity_engine::vector3::Vector3>,
47        #[offset(184)]
48        #[rename(name = "rotations")]
49        pub rotations: ::unity::Array<crate::unity_engine::quaternion::Quaternion>,
50    }
51}
52
53#[cfg(feature = "root_motion-final_ik-iksolverleg-types")]
54pub use __types::*;
55
56#[cfg(feature = "root_motion-final_ik-iksolverleg")]
57pub trait IIKSolverLegMethods: IIKSolverLeg {
58    #[doc = "`IsValid(*mut::unity::Il2CppString)` overload"]
59    fn is_valid(self) -> (bool, ::unity::Il2CppString) {
60        unsafe {
61            let __receiver = <IKSolverLeg 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                            <IKSolverLeg as ::unity::ClassIdentity>::NAME,
76                            "IsValid",
77                        )
78                    });
79                    let __inner: extern "C" fn(IKSolverLeg, *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        pelvis: impl ::core::convert::Into<crate::unity_engine::transform::Transform>,
92        thigh: impl ::core::convert::Into<crate::unity_engine::transform::Transform>,
93        calf: impl ::core::convert::Into<crate::unity_engine::transform::Transform>,
94        foot: impl ::core::convert::Into<crate::unity_engine::transform::Transform>,
95        toe: 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 = <IKSolverLeg as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
100            ::unity::il2cpp_call!((::unity::module_base()+0x3c32170usize)as*mut u8,bool;
101(IKSolverLeg)__receiver,(crate::unity_engine::transform::Transform)::core::convert::Into::into(pelvis),(crate::unity_engine::transform::Transform)::core::convert::Into::into(thigh),(crate::unity_engine::transform::Transform)::core::convert::Into::into(calf),(crate::unity_engine::transform::Transform)::core::convert::Into::into(foot),(crate::unity_engine::transform::Transform)::core::convert::Into::into(toe),(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 = <IKSolverLeg 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                        <IKSolverLeg as ::unity::ClassIdentity>::NAME,
120                        "GetPoints",
121                    )
122                });
123                let __inner: extern "C" fn(
124                    IKSolverLeg,
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 = <IKSolverLeg 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                        <IKSolverLeg as ::unity::ClassIdentity>::NAME,
151                        "GetPoint",
152                    )
153                });
154                let __inner: extern "C" fn(
155                    IKSolverLeg,
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 = <IKSolverLeg 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                        <IKSolverLeg as ::unity::ClassIdentity>::NAME,
180                        "StoreDefaultLocalState",
181                    )
182                });
183                let __inner: extern "C" fn(IKSolverLeg, ::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 = <IKSolverLeg 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                        <IKSolverLeg as ::unity::ClassIdentity>::NAME,
205                        "FixTransforms",
206                    )
207                });
208                let __inner: extern "C" fn(IKSolverLeg, ::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 = <IKSolverLeg 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                        <IKSolverLeg as ::unity::ClassIdentity>::NAME,
230                        "OnInitiate",
231                    )
232                });
233                let __inner: extern "C" fn(IKSolverLeg, ::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 = <IKSolverLeg 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                        <IKSolverLeg as ::unity::ClassIdentity>::NAME,
255                        "OnUpdate",
256                    )
257                });
258                let __inner: extern "C" fn(IKSolverLeg, ::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 = <IKSolverLeg as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
268            ::unity::il2cpp_call!((::unity::module_base()+0x3c32950usize)as*mut u8,();
269(IKSolverLeg)__receiver)
270        }
271    }
272    #[doc = "`Read()` overload"]
273    fn read(self) -> () {
274        unsafe {
275            let __receiver = <IKSolverLeg as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
276            ::unity::il2cpp_call!((::unity::module_base()+0x3c32630usize)as*mut u8,();
277(IKSolverLeg)__receiver)
278        }
279    }
280    #[doc = "`Write()` overload"]
281    fn write(self) -> () {
282        unsafe {
283            let __receiver = <IKSolverLeg as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
284            ::unity::il2cpp_call!((::unity::module_base()+0x3c329e0usize)as*mut u8,();
285(IKSolverLeg)__receiver)
286        }
287    }
288    #[doc = "`.ctor()` overload"]
289    fn ctor(self) -> () {
290        unsafe {
291            let __receiver = <IKSolverLeg as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
292            ::unity::il2cpp_call!((::unity::module_base()+0x3c32b10usize)as*mut u8,();
293(IKSolverLeg)__receiver)
294        }
295    }
296}
297
298#[cfg(feature = "root_motion-final_ik-iksolverleg")]
299impl<__T: IIKSolverLeg> IIKSolverLegMethods for __T {}
300
301#[cfg(feature = "root_motion-final_ik-iksolverleg")]
302impl IKSolverLeg {
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-iksolverleg")]
353impl IKSolverLeg {
354    #[doc = "Direct (non-virtual) call to `IKSolverLeg`'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 `IKSolverLeg`'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 `IKSolverLeg`'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 `IKSolverLeg`'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 `IKSolverLeg`'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 `IKSolverLeg`'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 `IKSolverLeg`'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-iksolverleg")]
418impl IKSolverLeg {
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!(IKSolverLeg),
427                ::core::stringify!(new),
428            )
429        });
430        <Self as IIKSolverLegMethods>::ctor(this);
431        this
432    }
433}
434
435#[cfg(feature = "root_motion-final_ik-iksolverleg")]
436#[doc(hidden)]
437pub mod prelude {
438    pub use super::{IIKSolverLeg, IIKSolverLegMethods, IKSolverLeg};
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}