Skip to main content

engage/generated/root_motion/final_ik/
iksolverfabrikroot.rs

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