Skip to main content

engage/generated/root_motion/final_ik/
iksolverheuristic.rs

1// @generated by il2cpp-bindgen — do not edit by hand.
2
3#[cfg(feature = "root_motion-final_ik-iksolverheuristic-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/iksolverheuristic/IKSolverHeuristic.md"))]
14    #[::unity::class(namespace = "RootMotion.FinalIK", name = "IKSolverHeuristic")]
15    #[parent(crate::root_motion::final_ik::iksolver::IKSolver)]
16    pub struct IKSolverHeuristic {
17        #[offset(88)]
18        #[rename(name = "target")]
19        pub target: crate::unity_engine::transform::Transform,
20        #[offset(96)]
21        #[rename(name = "tolerance")]
22        pub tolerance: f32,
23        #[offset(100)]
24        #[rename(name = "maxIterations")]
25        pub max_iterations: i32,
26        #[offset(104)]
27        #[rename(name = "useRotationLimits")]
28        pub use_rotation_limits: bool,
29        #[offset(105)]
30        #[rename(name = "XY")]
31        pub xy: bool,
32        #[offset(112)]
33        #[rename(name = "bones")]
34        pub bones: ::unity::Array<crate::root_motion::final_ik::iksolver::IKSolver_Bone>,
35        #[offset(120)]
36        #[rename(name = "lastLocalDirection")]
37        pub last_local_direction: crate::unity_engine::vector3::Vector3,
38        #[offset(132)]
39        #[rename(name = "chainLength")]
40        pub chain_length: f32,
41    }
42}
43
44#[cfg(feature = "root_motion-final_ik-iksolverheuristic-types")]
45pub use __types::*;
46
47#[cfg(feature = "root_motion-final_ik-iksolverheuristic")]
48pub trait IIKSolverHeuristicMethods: IIKSolverHeuristic {
49    #[doc = "`SetChain(::unity::Array<crate::unity_engine::transform::Transform>, crate::unity_engine::transform::Transform)` overload"]
50    fn set_chain(
51        self,
52        hierarchy: impl ::core::convert::Into<::unity::Array<crate::unity_engine::transform::Transform>>,
53        root: impl ::core::convert::Into<crate::unity_engine::transform::Transform>,
54    ) -> bool {
55        unsafe {
56            let __receiver = <IKSolverHeuristic as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
57            ::unity::il2cpp_call!((::unity::module_base()+0x3c31240usize)as*mut u8,bool;
58(IKSolverHeuristic)__receiver,(::unity::Array<crate::unity_engine::transform::Transform>)::core::convert::Into::into(hierarchy),(crate::unity_engine::transform::Transform)::core::convert::Into::into(root))
59        }
60    }
61    #[doc = "`AddBone(crate::unity_engine::transform::Transform)` overload"]
62    fn add_bone(self, bone: impl ::core::convert::Into<crate::unity_engine::transform::Transform>) -> () {
63        unsafe {
64            let __receiver = <IKSolverHeuristic as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
65            ::unity::il2cpp_call!((::unity::module_base()+0x3c313e0usize)as*mut u8,();
66(IKSolverHeuristic)__receiver,(crate::unity_engine::transform::Transform)::core::convert::Into::into(bone))
67        }
68    }
69    #[doc = "`StoreDefaultLocalState()` overload"]
70    fn store_default_local_state(self) -> () {
71        unsafe {
72            let __receiver = <IKSolverHeuristic as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
73            {
74                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
75                let __vi = *__vt.get(9usize).unwrap_or_else(|| {
76                    panic!(
77                        "unity: virtual slot {}
78 out of range (vtable len {}
79) on the runtime class behind {}
80 (method `{}
81`)",
82                        9usize,
83                        __vt.len(),
84                        <IKSolverHeuristic as ::unity::ClassIdentity>::NAME,
85                        "StoreDefaultLocalState",
86                    )
87                });
88                let __inner: extern "C" fn(IKSolverHeuristic, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
89                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
90                __inner(__receiver, __mi)
91            }
92        }
93    }
94    #[doc = "`FixTransforms()` overload"]
95    fn fix_transforms(self) -> () {
96        unsafe {
97            let __receiver = <IKSolverHeuristic as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
98            {
99                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
100                let __vi = *__vt.get(8usize).unwrap_or_else(|| {
101                    panic!(
102                        "unity: virtual slot {}
103 out of range (vtable len {}
104) on the runtime class behind {}
105 (method `{}
106`)",
107                        8usize,
108                        __vt.len(),
109                        <IKSolverHeuristic as ::unity::ClassIdentity>::NAME,
110                        "FixTransforms",
111                    )
112                });
113                let __inner: extern "C" fn(IKSolverHeuristic, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
114                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
115                __inner(__receiver, __mi)
116            }
117        }
118    }
119    #[doc = "`IsValid(*mut::unity::Il2CppString)` overload"]
120    fn is_valid(self) -> (bool, ::unity::Il2CppString) {
121        unsafe {
122            let __receiver = <IKSolverHeuristic as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
123            let mut __out_0 = ::core::mem::MaybeUninit::<::unity::Il2CppString>::uninit();
124            let __ret = {
125                {
126                    let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
127                    let __vi = *__vt.get(4usize).unwrap_or_else(|| {
128                        panic!(
129                            "unity: virtual slot {}
130 out of range (vtable len {}
131) on the runtime class behind {}
132 (method `{}
133`)",
134                            4usize,
135                            __vt.len(),
136                            <IKSolverHeuristic as ::unity::ClassIdentity>::NAME,
137                            "IsValid",
138                        )
139                    });
140                    let __inner: extern "C" fn(IKSolverHeuristic, *mut ::unity::Il2CppString, ::unity::OptionalMethod) -> bool =
141                        ::core::mem::transmute(__vi.method_ptr);
142                    let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
143                    __inner(__receiver, __out_0.as_mut_ptr(), __mi)
144                }
145            };
146            (__ret, __out_0.assume_init())
147        }
148    }
149    #[doc = "`GetPoints()` overload"]
150    fn get_points(self) -> ::unity::Array<crate::root_motion::final_ik::iksolver::IKSolver_Point> {
151        unsafe {
152            let __receiver = <IKSolverHeuristic as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
153            {
154                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
155                let __vi = *__vt.get(6usize).unwrap_or_else(|| {
156                    panic!(
157                        "unity: virtual slot {}
158 out of range (vtable len {}
159) on the runtime class behind {}
160 (method `{}
161`)",
162                        6usize,
163                        __vt.len(),
164                        <IKSolverHeuristic as ::unity::ClassIdentity>::NAME,
165                        "GetPoints",
166                    )
167                });
168                let __inner: extern "C" fn(
169                    IKSolverHeuristic,
170                    ::unity::OptionalMethod,
171                ) -> ::unity::Array<crate::root_motion::final_ik::iksolver::IKSolver_Point> = ::core::mem::transmute(__vi.method_ptr);
172                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
173                __inner(__receiver, __mi)
174            }
175        }
176    }
177    #[doc = "`GetPoint(crate::unity_engine::transform::Transform)` overload"]
178    fn get_point(
179        self,
180        transform: impl ::core::convert::Into<crate::unity_engine::transform::Transform>,
181    ) -> crate::root_motion::final_ik::iksolver::IKSolver_Point {
182        unsafe {
183            let __receiver = <IKSolverHeuristic as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
184            {
185                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
186                let __vi = *__vt.get(7usize).unwrap_or_else(|| {
187                    panic!(
188                        "unity: virtual slot {}
189 out of range (vtable len {}
190) on the runtime class behind {}
191 (method `{}
192`)",
193                        7usize,
194                        __vt.len(),
195                        <IKSolverHeuristic as ::unity::ClassIdentity>::NAME,
196                        "GetPoint",
197                    )
198                });
199                let __inner: extern "C" fn(
200                    IKSolverHeuristic,
201                    crate::unity_engine::transform::Transform,
202                    ::unity::OptionalMethod,
203                ) -> 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, ::core::convert::Into::into(transform), __mi)
206            }
207        }
208    }
209    #[doc = "`get_minBones()` overload"]
210    fn get_min_bones(self) -> i32 {
211        unsafe {
212            let __receiver = <IKSolverHeuristic as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
213            {
214                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
215                let __vi = *__vt.get(12usize).unwrap_or_else(|| {
216                    panic!(
217                        "unity: virtual slot {}
218 out of range (vtable len {}
219) on the runtime class behind {}
220 (method `{}
221`)",
222                        12usize,
223                        __vt.len(),
224                        <IKSolverHeuristic as ::unity::ClassIdentity>::NAME,
225                        "get_minBones",
226                    )
227                });
228                let __inner: extern "C" fn(IKSolverHeuristic, ::unity::OptionalMethod) -> i32 = ::core::mem::transmute(__vi.method_ptr);
229                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
230                __inner(__receiver, __mi)
231            }
232        }
233    }
234    #[doc = "`get_boneLengthCanBeZero()` overload"]
235    fn get_bone_length_can_be_zero(self) -> bool {
236        unsafe {
237            let __receiver = <IKSolverHeuristic as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
238            {
239                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
240                let __vi = *__vt.get(13usize).unwrap_or_else(|| {
241                    panic!(
242                        "unity: virtual slot {}
243 out of range (vtable len {}
244) on the runtime class behind {}
245 (method `{}
246`)",
247                        13usize,
248                        __vt.len(),
249                        <IKSolverHeuristic as ::unity::ClassIdentity>::NAME,
250                        "get_boneLengthCanBeZero",
251                    )
252                });
253                let __inner: extern "C" fn(IKSolverHeuristic, ::unity::OptionalMethod) -> bool = ::core::mem::transmute(__vi.method_ptr);
254                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
255                __inner(__receiver, __mi)
256            }
257        }
258    }
259    #[doc = "`get_allowCommonParent()` overload"]
260    fn get_allow_common_parent(self) -> bool {
261        unsafe {
262            let __receiver = <IKSolverHeuristic as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
263            {
264                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
265                let __vi = *__vt.get(14usize).unwrap_or_else(|| {
266                    panic!(
267                        "unity: virtual slot {}
268 out of range (vtable len {}
269) on the runtime class behind {}
270 (method `{}
271`)",
272                        14usize,
273                        __vt.len(),
274                        <IKSolverHeuristic as ::unity::ClassIdentity>::NAME,
275                        "get_allowCommonParent",
276                    )
277                });
278                let __inner: extern "C" fn(IKSolverHeuristic, ::unity::OptionalMethod) -> bool = ::core::mem::transmute(__vi.method_ptr);
279                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
280                __inner(__receiver, __mi)
281            }
282        }
283    }
284    #[doc = "`OnInitiate()` overload"]
285    fn on_initiate(self) -> () {
286        unsafe {
287            let __receiver = <IKSolverHeuristic as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
288            {
289                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
290                let __vi = *__vt.get(10usize).unwrap_or_else(|| {
291                    panic!(
292                        "unity: virtual slot {}
293 out of range (vtable len {}
294) on the runtime class behind {}
295 (method `{}
296`)",
297                        10usize,
298                        __vt.len(),
299                        <IKSolverHeuristic as ::unity::ClassIdentity>::NAME,
300                        "OnInitiate",
301                    )
302                });
303                let __inner: extern "C" fn(IKSolverHeuristic, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
304                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
305                __inner(__receiver, __mi)
306            }
307        }
308    }
309    #[doc = "`OnUpdate()` overload"]
310    fn on_update(self) -> () {
311        unsafe {
312            let __receiver = <IKSolverHeuristic as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
313            {
314                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
315                let __vi = *__vt.get(11usize).unwrap_or_else(|| {
316                    panic!(
317                        "unity: virtual slot {}
318 out of range (vtable len {}
319) on the runtime class behind {}
320 (method `{}
321`)",
322                        11usize,
323                        __vt.len(),
324                        <IKSolverHeuristic as ::unity::ClassIdentity>::NAME,
325                        "OnUpdate",
326                    )
327                });
328                let __inner: extern "C" fn(IKSolverHeuristic, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
329                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
330                __inner(__receiver, __mi)
331            }
332        }
333    }
334    #[doc = "`InitiateBones()` overload"]
335    fn initiate_bones(self) -> () {
336        unsafe {
337            let __receiver = <IKSolverHeuristic as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
338            ::unity::il2cpp_call!((::unity::module_base()+0x3c28ab0usize)as*mut u8,();
339(IKSolverHeuristic)__receiver)
340        }
341    }
342    #[doc = "`get_localDirection()` overload"]
343    fn get_local_direction(self) -> crate::unity_engine::vector3::Vector3 {
344        unsafe {
345            let __receiver = <IKSolverHeuristic as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
346            {
347                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
348                let __vi = *__vt.get(15usize).unwrap_or_else(|| {
349                    panic!(
350                        "unity: virtual slot {}
351 out of range (vtable len {}
352) on the runtime class behind {}
353 (method `{}
354`)",
355                        15usize,
356                        __vt.len(),
357                        <IKSolverHeuristic as ::unity::ClassIdentity>::NAME,
358                        "get_localDirection",
359                    )
360                });
361                let __inner: extern "C" fn(IKSolverHeuristic, ::unity::OptionalMethod) -> crate::unity_engine::vector3::Vector3 =
362                    ::core::mem::transmute(__vi.method_ptr);
363                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
364                __inner(__receiver, __mi)
365            }
366        }
367    }
368    #[doc = "`get_positionOffset()` overload"]
369    fn get_position_offset(self) -> f32 {
370        unsafe {
371            let __receiver = <IKSolverHeuristic as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
372            ::unity::il2cpp_call!((::unity::module_base()+0x3c293e0usize)as*mut u8,f32;
373(IKSolverHeuristic)__receiver)
374        }
375    }
376    #[doc = "`GetSingularityOffset()` overload"]
377    fn get_singularity_offset(self) -> crate::unity_engine::vector3::Vector3 {
378        unsafe {
379            let __receiver = <IKSolverHeuristic as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
380            ::unity::il2cpp_call!((::unity::module_base()+0x3c29110usize)as*mut u8,crate::unity_engine::vector3::Vector3;
381(IKSolverHeuristic)__receiver)
382        }
383    }
384    #[doc = "`SingularityDetected()` overload"]
385    fn singularity_detected(self) -> bool {
386        unsafe {
387            let __receiver = <IKSolverHeuristic as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
388            ::unity::il2cpp_call!((::unity::module_base()+0x3c31be0usize)as*mut u8,bool;
389(IKSolverHeuristic)__receiver)
390        }
391    }
392    #[doc = "`.ctor()` overload"]
393    fn ctor(self) -> () {
394        unsafe {
395            let __receiver = <IKSolverHeuristic as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
396            ::unity::il2cpp_call!((::unity::module_base()+0x3c27a20usize)as*mut u8,();
397(IKSolverHeuristic)__receiver)
398        }
399    }
400}
401
402#[cfg(feature = "root_motion-final_ik-iksolverheuristic")]
403impl<__T: IIKSolverHeuristic> IIKSolverHeuristicMethods for __T {}
404
405#[cfg(feature = "root_motion-final_ik-iksolverheuristic")]
406impl IKSolverHeuristic {
407    pub fn set_chain_method_info() -> &'static ::unity::il2cpp::MethodInfo {
408        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
409    }
410
411    pub fn add_bone_method_info() -> &'static ::unity::il2cpp::MethodInfo {
412        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
413    }
414
415    pub fn store_default_local_state_method_info() -> &'static ::unity::il2cpp::MethodInfo {
416        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
417    }
418
419    pub fn fix_transforms_method_info() -> &'static ::unity::il2cpp::MethodInfo {
420        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[3]
421    }
422
423    pub fn is_valid_method_info() -> &'static ::unity::il2cpp::MethodInfo {
424        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[4]
425    }
426
427    pub fn get_points_method_info() -> &'static ::unity::il2cpp::MethodInfo {
428        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[5]
429    }
430
431    pub fn get_point_method_info() -> &'static ::unity::il2cpp::MethodInfo {
432        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[6]
433    }
434
435    pub fn get_min_bones_method_info() -> &'static ::unity::il2cpp::MethodInfo {
436        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[7]
437    }
438
439    pub fn get_bone_length_can_be_zero_method_info() -> &'static ::unity::il2cpp::MethodInfo {
440        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[8]
441    }
442
443    pub fn get_allow_common_parent_method_info() -> &'static ::unity::il2cpp::MethodInfo {
444        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[9]
445    }
446
447    pub fn on_initiate_method_info() -> &'static ::unity::il2cpp::MethodInfo {
448        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[10]
449    }
450
451    pub fn on_update_method_info() -> &'static ::unity::il2cpp::MethodInfo {
452        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[11]
453    }
454
455    pub fn initiate_bones_method_info() -> &'static ::unity::il2cpp::MethodInfo {
456        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[12]
457    }
458
459    pub fn get_local_direction_method_info() -> &'static ::unity::il2cpp::MethodInfo {
460        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[13]
461    }
462
463    pub fn get_position_offset_method_info() -> &'static ::unity::il2cpp::MethodInfo {
464        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[14]
465    }
466
467    pub fn get_singularity_offset_method_info() -> &'static ::unity::il2cpp::MethodInfo {
468        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[15]
469    }
470
471    pub fn singularity_detected_method_info() -> &'static ::unity::il2cpp::MethodInfo {
472        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[16]
473    }
474
475    pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
476        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[17]
477    }
478}
479
480#[cfg(feature = "root_motion-final_ik-iksolverheuristic")]
481impl IKSolverHeuristic {
482    #[doc = "Direct (non-virtual) call to `IKSolverHeuristic`'s own `StoreDefaultLocalState`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
483    pub unsafe fn store_default_local_state(this: impl ::core::convert::Into<::unity::IlInstance>) -> () {
484        let __mi = Self::store_default_local_state_method_info();
485        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
486        __inner(this.into(), ::core::option::Option::None)
487    }
488
489    #[doc = "Direct (non-virtual) call to `IKSolverHeuristic`'s own `FixTransforms`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
490    pub unsafe fn fix_transforms(this: impl ::core::convert::Into<::unity::IlInstance>) -> () {
491        let __mi = Self::fix_transforms_method_info();
492        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
493        __inner(this.into(), ::core::option::Option::None)
494    }
495
496    #[doc = "Direct (non-virtual) call to `IKSolverHeuristic`'s own `IsValid`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
497    pub unsafe fn is_valid(this: impl ::core::convert::Into<::unity::IlInstance>, message: *mut ::unity::Il2CppString) -> bool {
498        let __mi = Self::is_valid_method_info();
499        let __inner: extern "C" fn(::unity::IlInstance, *mut ::unity::Il2CppString, ::unity::OptionalMethod) -> bool =
500            ::core::mem::transmute(__mi.method_ptr);
501        __inner(this.into(), message, ::core::option::Option::None)
502    }
503
504    #[doc = "Direct (non-virtual) call to `IKSolverHeuristic`'s own `GetPoints`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
505    pub unsafe fn get_points(
506        this: impl ::core::convert::Into<::unity::IlInstance>,
507    ) -> ::unity::Array<crate::root_motion::final_ik::iksolver::IKSolver_Point> {
508        let __mi = Self::get_points_method_info();
509        let __inner: extern "C" fn(
510            ::unity::IlInstance,
511            ::unity::OptionalMethod,
512        ) -> ::unity::Array<crate::root_motion::final_ik::iksolver::IKSolver_Point> = ::core::mem::transmute(__mi.method_ptr);
513        __inner(this.into(), ::core::option::Option::None)
514    }
515
516    #[doc = "Direct (non-virtual) call to `IKSolverHeuristic`'s own `GetPoint`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
517    pub unsafe fn get_point(
518        this: impl ::core::convert::Into<::unity::IlInstance>,
519        transform: crate::unity_engine::transform::Transform,
520    ) -> crate::root_motion::final_ik::iksolver::IKSolver_Point {
521        let __mi = Self::get_point_method_info();
522        let __inner: extern "C" fn(
523            ::unity::IlInstance,
524            crate::unity_engine::transform::Transform,
525            ::unity::OptionalMethod,
526        ) -> crate::root_motion::final_ik::iksolver::IKSolver_Point = ::core::mem::transmute(__mi.method_ptr);
527        __inner(this.into(), transform, ::core::option::Option::None)
528    }
529
530    #[doc = "Direct (non-virtual) call to `IKSolverHeuristic`'s own `get_minBones`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
531    pub unsafe fn get_min_bones(this: impl ::core::convert::Into<::unity::IlInstance>) -> i32 {
532        let __mi = Self::get_min_bones_method_info();
533        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> i32 = ::core::mem::transmute(__mi.method_ptr);
534        __inner(this.into(), ::core::option::Option::None)
535    }
536
537    #[doc = "Direct (non-virtual) call to `IKSolverHeuristic`'s own `get_boneLengthCanBeZero`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
538    pub unsafe fn get_bone_length_can_be_zero(this: impl ::core::convert::Into<::unity::IlInstance>) -> bool {
539        let __mi = Self::get_bone_length_can_be_zero_method_info();
540        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> bool = ::core::mem::transmute(__mi.method_ptr);
541        __inner(this.into(), ::core::option::Option::None)
542    }
543
544    #[doc = "Direct (non-virtual) call to `IKSolverHeuristic`'s own `get_allowCommonParent`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
545    pub unsafe fn get_allow_common_parent(this: impl ::core::convert::Into<::unity::IlInstance>) -> bool {
546        let __mi = Self::get_allow_common_parent_method_info();
547        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> bool = ::core::mem::transmute(__mi.method_ptr);
548        __inner(this.into(), ::core::option::Option::None)
549    }
550
551    #[doc = "Direct (non-virtual) call to `IKSolverHeuristic`'s own `OnInitiate`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
552    pub unsafe fn on_initiate(this: impl ::core::convert::Into<::unity::IlInstance>) -> () {
553        let __mi = Self::on_initiate_method_info();
554        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
555        __inner(this.into(), ::core::option::Option::None)
556    }
557
558    #[doc = "Direct (non-virtual) call to `IKSolverHeuristic`'s own `OnUpdate`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
559    pub unsafe fn on_update(this: impl ::core::convert::Into<::unity::IlInstance>) -> () {
560        let __mi = Self::on_update_method_info();
561        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
562        __inner(this.into(), ::core::option::Option::None)
563    }
564
565    #[doc = "Direct (non-virtual) call to `IKSolverHeuristic`'s own `get_localDirection`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
566    pub unsafe fn get_local_direction(this: impl ::core::convert::Into<::unity::IlInstance>) -> crate::unity_engine::vector3::Vector3 {
567        let __mi = Self::get_local_direction_method_info();
568        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> crate::unity_engine::vector3::Vector3 =
569            ::core::mem::transmute(__mi.method_ptr);
570        __inner(this.into(), ::core::option::Option::None)
571    }
572}
573
574#[cfg(feature = "root_motion-final_ik-iksolverheuristic")]
575impl IKSolverHeuristic {
576    #[doc = "`.ctor()` — no args"]
577    pub fn new() -> Self {
578        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
579            panic!(
580                "{}
581::{}
582 failed to instantiate",
583                ::core::stringify!(IKSolverHeuristic),
584                ::core::stringify!(new),
585            )
586        });
587        <Self as IIKSolverHeuristicMethods>::ctor(this);
588        this
589    }
590}
591
592#[cfg(feature = "root_motion-final_ik-iksolverheuristic")]
593#[doc(hidden)]
594pub mod prelude {
595    pub use super::{IIKSolverHeuristic, IIKSolverHeuristicMethods, IKSolverHeuristic};
596    #[cfg(feature = "root_motion-final_ik-iksolver")]
597    pub use crate::root_motion::final_ik::iksolver::IIKSolverMethods;
598    #[cfg(feature = "system-object")]
599    pub use crate::system::object::IObjectMethods;
600    pub use crate::{
601        root_motion::final_ik::iksolver::{IIKSolver, IKSolver},
602        system::object::IObject,
603    };
604}