1#[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}