Skip to main content

engage/generated/root_motion/final_ik/
iksolvervr.rs

1// @generated by il2cpp-bindgen — do not edit by hand.
2
3#[cfg(feature = "root_motion-final_ik-iksolvervr-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::{
11            object::{IObject, Object},
12            r#enum::{Enum, IEnum},
13            valuetype::{IValueType, ValueType},
14        },
15    };
16
17    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/root_motion/final_ik/iksolvervr/IKSolverVR_Footstep.md"))]
18    #[::unity::class(namespace = "RootMotion.FinalIK", name = "IKSolverVR.Footstep")]
19    #[parent(crate::system::object::Object)]
20    pub struct IKSolverVR_Footstep {
21        #[offset(16)]
22        #[rename(name = "stepSpeed")]
23        pub step_speed: f32,
24        #[offset(20)]
25        #[rename(name = "characterSpaceOffset")]
26        pub character_space_offset: crate::unity_engine::vector3::Vector3,
27        #[offset(32)]
28        #[rename(name = "position")]
29        pub position: crate::unity_engine::vector3::Vector3,
30        #[offset(44)]
31        #[rename(name = "rotation")]
32        pub rotation: crate::unity_engine::quaternion::Quaternion,
33        #[offset(60)]
34        #[rename(name = "stepToRootRot")]
35        pub step_to_root_rot: crate::unity_engine::quaternion::Quaternion,
36        #[offset(76)]
37        #[rename(name = "isSupportLeg")]
38        pub is_support_leg: bool,
39        #[offset(77)]
40        #[rename(name = "relaxFlag")]
41        pub relax_flag: bool,
42        #[offset(84)]
43        #[rename(name = "stepFrom")]
44        pub step_from: crate::unity_engine::vector3::Vector3,
45        #[offset(96)]
46        #[rename(name = "stepTo")]
47        pub step_to_field: crate::unity_engine::vector3::Vector3,
48        #[offset(108)]
49        #[rename(name = "stepFromRot")]
50        pub step_from_rot: crate::unity_engine::quaternion::Quaternion,
51        #[offset(124)]
52        #[rename(name = "stepToRot")]
53        pub step_to_rot: crate::unity_engine::quaternion::Quaternion,
54        #[offset(140)]
55        #[rename(name = "footRelativeToRoot")]
56        pub foot_relative_to_root: crate::unity_engine::quaternion::Quaternion,
57        #[offset(156)]
58        #[rename(name = "supportLegW")]
59        pub support_leg_w: f32,
60        #[offset(160)]
61        #[rename(name = "supportLegWV")]
62        pub support_leg_wv: f32,
63    }
64
65    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/root_motion/final_ik/iksolvervr/IKSolverVR_Leg.md"))]
66    #[::unity::class(namespace = "RootMotion.FinalIK", name = "IKSolverVR.Leg")]
67    #[parent(crate::root_motion::final_ik::iksolvervr::IKSolverVR_BodyPart)]
68    pub struct IKSolverVR_Leg {
69        #[offset(72)]
70        #[rename(name = "target")]
71        pub target: crate::unity_engine::transform::Transform,
72        #[offset(80)]
73        #[rename(name = "bendGoal")]
74        pub bend_goal: crate::unity_engine::transform::Transform,
75        #[offset(88)]
76        #[rename(name = "positionWeight")]
77        pub position_weight: f32,
78        #[offset(92)]
79        #[rename(name = "rotationWeight")]
80        pub rotation_weight: f32,
81        #[offset(96)]
82        #[rename(name = "bendGoalWeight")]
83        pub bend_goal_weight: f32,
84        #[offset(100)]
85        #[rename(name = "swivelOffset")]
86        pub swivel_offset: f32,
87        #[offset(104)]
88        #[rename(name = "bendToTargetWeight")]
89        pub bend_to_target_weight: f32,
90        #[offset(108)]
91        #[rename(name = "legLengthMlp")]
92        pub leg_length_mlp: f32,
93        #[offset(112)]
94        #[rename(name = "stretchCurve")]
95        pub stretch_curve: crate::unity_engine::animationcurve::AnimationCurve,
96        #[offset(120)]
97        #[rename(name = "IKPosition")]
98        pub ik_position: crate::unity_engine::vector3::Vector3,
99        #[offset(132)]
100        #[rename(name = "IKRotation")]
101        pub ik_rotation: crate::unity_engine::quaternion::Quaternion,
102        #[offset(148)]
103        #[rename(name = "footPositionOffset")]
104        pub foot_position_offset: crate::unity_engine::vector3::Vector3,
105        #[offset(160)]
106        #[rename(name = "heelPositionOffset")]
107        pub heel_position_offset: crate::unity_engine::vector3::Vector3,
108        #[offset(172)]
109        #[rename(name = "footRotationOffset")]
110        pub foot_rotation_offset: crate::unity_engine::quaternion::Quaternion,
111        #[offset(188)]
112        #[rename(name = "currentMag")]
113        pub current_mag: f32,
114        #[offset(192)]
115        #[rename(name = "useAnimatedBendNormal")]
116        pub use_animated_bend_normal: bool,
117        #[offset(240)]
118        #[rename(name = "footPosition")]
119        pub foot_position: crate::unity_engine::vector3::Vector3,
120        #[offset(252)]
121        #[rename(name = "footRotation")]
122        pub foot_rotation: crate::unity_engine::quaternion::Quaternion,
123        #[offset(268)]
124        #[rename(name = "bendNormal")]
125        pub bend_normal: crate::unity_engine::vector3::Vector3,
126        #[offset(280)]
127        #[rename(name = "calfRelToThigh")]
128        pub calf_rel_to_thigh: crate::unity_engine::quaternion::Quaternion,
129        #[offset(296)]
130        #[rename(name = "thighRelToFoot")]
131        pub thigh_rel_to_foot: crate::unity_engine::quaternion::Quaternion,
132        #[offset(312)]
133        #[rename(name = "bendNormalRelToPelvis")]
134        pub bend_normal_rel_to_pelvis: crate::unity_engine::vector3::Vector3,
135        #[offset(324)]
136        #[rename(name = "bendNormalRelToTarget")]
137        pub bend_normal_rel_to_target: crate::unity_engine::vector3::Vector3,
138    }
139
140    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/root_motion/final_ik/iksolvervr/IKSolverVR_VirtualBone.md"))]
141    #[::unity::class(namespace = "RootMotion.FinalIK", name = "IKSolverVR.VirtualBone")]
142    #[parent(crate::system::object::Object)]
143    pub struct IKSolverVR_VirtualBone {
144        #[offset(16)]
145        #[rename(name = "readPosition")]
146        pub read_position: crate::unity_engine::vector3::Vector3,
147        #[offset(28)]
148        #[rename(name = "readRotation")]
149        pub read_rotation: crate::unity_engine::quaternion::Quaternion,
150        #[offset(44)]
151        #[rename(name = "solverPosition")]
152        pub solver_position: crate::unity_engine::vector3::Vector3,
153        #[offset(56)]
154        #[rename(name = "solverRotation")]
155        pub solver_rotation: crate::unity_engine::quaternion::Quaternion,
156        #[offset(72)]
157        #[rename(name = "length")]
158        pub length: f32,
159        #[offset(76)]
160        #[rename(name = "sqrMag")]
161        pub sqr_mag: f32,
162        #[offset(80)]
163        #[rename(name = "axis")]
164        pub axis: crate::unity_engine::vector3::Vector3,
165    }
166
167    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/root_motion/final_ik/iksolvervr/IKSolverVR_Locomotion.md"))]
168    #[::unity::class(namespace = "RootMotion.FinalIK", name = "IKSolverVR.Locomotion")]
169    #[parent(crate::system::object::Object)]
170    pub struct IKSolverVR_Locomotion {
171        #[offset(16)]
172        #[rename(name = "weight")]
173        pub weight: f32,
174        #[offset(20)]
175        #[rename(name = "footDistance")]
176        pub foot_distance: f32,
177        #[offset(24)]
178        #[rename(name = "stepThreshold")]
179        pub step_threshold: f32,
180        #[offset(28)]
181        #[rename(name = "angleThreshold")]
182        pub angle_threshold: f32,
183        #[offset(32)]
184        #[rename(name = "comAngleMlp")]
185        pub com_angle_mlp: f32,
186        #[offset(36)]
187        #[rename(name = "maxVelocity")]
188        pub max_velocity: f32,
189        #[offset(40)]
190        #[rename(name = "velocityFactor")]
191        pub velocity_factor: f32,
192        #[offset(44)]
193        #[rename(name = "maxLegStretch")]
194        pub max_leg_stretch: f32,
195        #[offset(48)]
196        #[rename(name = "rootSpeed")]
197        pub root_speed: f32,
198        #[offset(52)]
199        #[rename(name = "stepSpeed")]
200        pub step_speed: f32,
201        #[offset(56)]
202        #[rename(name = "stepHeight")]
203        pub step_height: crate::unity_engine::animationcurve::AnimationCurve,
204        #[offset(64)]
205        #[rename(name = "maxBodyYOffset")]
206        pub max_body_y_offset: f32,
207        #[offset(72)]
208        #[rename(name = "heelHeight")]
209        pub heel_height: crate::unity_engine::animationcurve::AnimationCurve,
210        #[offset(80)]
211        #[rename(name = "relaxLegTwistMinAngle")]
212        pub relax_leg_twist_min_angle: f32,
213        #[offset(84)]
214        #[rename(name = "relaxLegTwistSpeed")]
215        pub relax_leg_twist_speed: f32,
216        #[offset(88)]
217        #[rename(name = "stepInterpolation")]
218        pub step_interpolation: crate::root_motion::interpolationmode::InterpolationMode,
219        #[offset(92)]
220        #[rename(name = "offset")]
221        pub offset: crate::unity_engine::vector3::Vector3,
222        #[offset(104)]
223        #[rename(name = "blockingEnabled")]
224        pub blocking_enabled: bool,
225        #[offset(108)]
226        #[rename(name = "blockingLayers")]
227        pub blocking_layers: crate::unity_engine::layermask::LayerMask,
228        #[offset(112)]
229        #[rename(name = "raycastRadius")]
230        pub raycast_radius: f32,
231        #[offset(116)]
232        #[rename(name = "raycastHeight")]
233        pub raycast_height: f32,
234        #[offset(120)]
235        #[rename(name = "onLeftFootstep")]
236        pub on_left_footstep: crate::unity_engine::events::unityevent::UnityEvent,
237        #[offset(128)]
238        #[rename(name = "onRightFootstep")]
239        pub on_right_footstep: crate::unity_engine::events::unityevent::UnityEvent,
240        #[offset(152)]
241        #[rename(name = "footsteps")]
242        pub footsteps: ::unity::Array<crate::root_motion::final_ik::iksolvervr::IKSolverVR_Footstep>,
243        #[offset(160)]
244        #[rename(name = "lastComPosition")]
245        pub last_com_position: crate::unity_engine::vector3::Vector3,
246        #[offset(172)]
247        #[rename(name = "comVelocity")]
248        pub com_velocity: crate::unity_engine::vector3::Vector3,
249        #[offset(184)]
250        #[rename(name = "leftFootIndex")]
251        pub left_foot_index: i32,
252        #[offset(188)]
253        #[rename(name = "rightFootIndex")]
254        pub right_foot_index: i32,
255    }
256
257    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/root_motion/final_ik/iksolvervr/IKSolverVR_Arm_ShoulderRotationMode.md"))]
258    #[repr(C)]
259    #[derive(::core::clone::Clone, ::core::marker::Copy, ::core::fmt::Debug, ::core::cmp::PartialEq, ::core::cmp::Eq)]
260    pub struct IKSolverVR_Arm_ShoulderRotationMode {
261        pub value: i32,
262    }
263    impl ::unity::ClassIdentity for IKSolverVR_Arm_ShoulderRotationMode {
264        const NAME: &'static str = "IKSolverVR.Arm.ShoulderRotationMode";
265        const NAMESPACE: &'static str = "RootMotion.FinalIK";
266
267        fn class() -> ::unity::Class {
268            static CACHE: ::std::sync::OnceLock<::unity::Class> = ::std::sync::OnceLock::new();
269            *CACHE.get_or_init(|| ::unity::Class::lookup(Self::NAMESPACE, Self::NAME))
270        }
271    }
272    impl ::unity::IlType for IKSolverVR_Arm_ShoulderRotationMode {
273        fn il_type() -> &'static ::unity::il2cpp::Il2CppType {
274            &<Self as ::unity::ClassIdentity>::class().raw()._1.byval_arg
275        }
276    }
277    impl IKSolverVR_Arm_ShoulderRotationMode {
278        pub fn yaw_pitch() -> Self {
279            Self { value: 0 }
280        }
281
282        pub fn from_to() -> Self {
283            Self { value: 1 }
284        }
285    }
286
287    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/root_motion/final_ik/iksolvervr/IKSolverVR_Spine.md"))]
288    #[::unity::class(namespace = "RootMotion.FinalIK", name = "IKSolverVR.Spine")]
289    #[parent(crate::root_motion::final_ik::iksolvervr::IKSolverVR_BodyPart)]
290    pub struct IKSolverVR_Spine {
291        #[offset(72)]
292        #[rename(name = "headTarget")]
293        pub head_target: crate::unity_engine::transform::Transform,
294        #[offset(80)]
295        #[rename(name = "pelvisTarget")]
296        pub pelvis_target: crate::unity_engine::transform::Transform,
297        #[offset(88)]
298        #[rename(name = "positionWeight")]
299        pub position_weight: f32,
300        #[offset(92)]
301        #[rename(name = "rotationWeight")]
302        pub rotation_weight: f32,
303        #[offset(96)]
304        #[rename(name = "pelvisPositionWeight")]
305        pub pelvis_position_weight: f32,
306        #[offset(100)]
307        #[rename(name = "pelvisRotationWeight")]
308        pub pelvis_rotation_weight: f32,
309        #[offset(104)]
310        #[rename(name = "chestGoal")]
311        pub chest_goal: crate::unity_engine::transform::Transform,
312        #[offset(112)]
313        #[rename(name = "chestGoalWeight")]
314        pub chest_goal_weight: f32,
315        #[offset(116)]
316        #[rename(name = "minHeadHeight")]
317        pub min_head_height: f32,
318        #[offset(120)]
319        #[rename(name = "bodyPosStiffness")]
320        pub body_pos_stiffness: f32,
321        #[offset(124)]
322        #[rename(name = "bodyRotStiffness")]
323        pub body_rot_stiffness: f32,
324        #[offset(128)]
325        #[rename(name = "neckStiffness")]
326        pub neck_stiffness: f32,
327        #[offset(132)]
328        #[rename(name = "rotateChestByHands")]
329        pub rotate_chest_by_hands: f32,
330        #[offset(136)]
331        #[rename(name = "chestClampWeight")]
332        pub chest_clamp_weight: f32,
333        #[offset(140)]
334        #[rename(name = "headClampWeight")]
335        pub head_clamp_weight: f32,
336        #[offset(144)]
337        #[rename(name = "moveBodyBackWhenCrouching")]
338        pub move_body_back_when_crouching: f32,
339        #[offset(148)]
340        #[rename(name = "maintainPelvisPosition")]
341        pub maintain_pelvis_position: f32,
342        #[offset(152)]
343        #[rename(name = "maxRootAngle")]
344        pub max_root_angle: f32,
345        #[offset(156)]
346        #[rename(name = "rootHeadingOffset")]
347        pub root_heading_offset: f32,
348        #[offset(160)]
349        #[rename(name = "IKPositionHead")]
350        pub ik_position_head: crate::unity_engine::vector3::Vector3,
351        #[offset(172)]
352        #[rename(name = "IKRotationHead")]
353        pub ik_rotation_head: crate::unity_engine::quaternion::Quaternion,
354        #[offset(188)]
355        #[rename(name = "IKPositionPelvis")]
356        pub ik_position_pelvis: crate::unity_engine::vector3::Vector3,
357        #[offset(200)]
358        #[rename(name = "IKRotationPelvis")]
359        pub ik_rotation_pelvis: crate::unity_engine::quaternion::Quaternion,
360        #[offset(216)]
361        #[rename(name = "goalPositionChest")]
362        pub goal_position_chest: crate::unity_engine::vector3::Vector3,
363        #[offset(228)]
364        #[rename(name = "pelvisPositionOffset")]
365        pub pelvis_position_offset: crate::unity_engine::vector3::Vector3,
366        #[offset(240)]
367        #[rename(name = "chestPositionOffset")]
368        pub chest_position_offset: crate::unity_engine::vector3::Vector3,
369        #[offset(252)]
370        #[rename(name = "headPositionOffset")]
371        pub head_position_offset: crate::unity_engine::vector3::Vector3,
372        #[offset(264)]
373        #[rename(name = "pelvisRotationOffset")]
374        pub pelvis_rotation_offset: crate::unity_engine::quaternion::Quaternion,
375        #[offset(280)]
376        #[rename(name = "chestRotationOffset")]
377        pub chest_rotation_offset: crate::unity_engine::quaternion::Quaternion,
378        #[offset(296)]
379        #[rename(name = "headRotationOffset")]
380        pub head_rotation_offset: crate::unity_engine::quaternion::Quaternion,
381        #[offset(312)]
382        #[rename(name = "faceDirection")]
383        pub face_direction: crate::unity_engine::vector3::Vector3,
384        #[offset(324)]
385        #[rename(name = "locomotionHeadPositionOffset")]
386        pub locomotion_head_position_offset: crate::unity_engine::vector3::Vector3,
387        #[offset(336)]
388        #[rename(name = "headPosition")]
389        pub head_position: crate::unity_engine::vector3::Vector3,
390        #[offset(380)]
391        #[rename(name = "headRotation")]
392        pub head_rotation: crate::unity_engine::quaternion::Quaternion,
393        #[offset(396)]
394        #[rename(name = "pelvisRotation")]
395        pub pelvis_rotation: crate::unity_engine::quaternion::Quaternion,
396        #[offset(412)]
397        #[rename(name = "anchorRelativeToPelvis")]
398        pub anchor_relative_to_pelvis: crate::unity_engine::quaternion::Quaternion,
399        #[offset(428)]
400        #[rename(name = "pelvisRelativeRotation")]
401        pub pelvis_relative_rotation: crate::unity_engine::quaternion::Quaternion,
402        #[offset(444)]
403        #[rename(name = "chestRelativeRotation")]
404        pub chest_relative_rotation: crate::unity_engine::quaternion::Quaternion,
405        #[offset(460)]
406        #[rename(name = "headDeltaPosition")]
407        pub head_delta_position: crate::unity_engine::vector3::Vector3,
408        #[offset(472)]
409        #[rename(name = "pelvisDeltaRotation")]
410        pub pelvis_delta_rotation: crate::unity_engine::quaternion::Quaternion,
411        #[offset(488)]
412        #[rename(name = "chestTargetRotation")]
413        pub chest_target_rotation: crate::unity_engine::quaternion::Quaternion,
414        #[offset(504)]
415        #[rename(name = "pelvisIndex")]
416        pub pelvis_index: i32,
417        #[offset(508)]
418        #[rename(name = "spineIndex")]
419        pub spine_index: i32,
420        #[offset(512)]
421        #[rename(name = "chestIndex")]
422        pub chest_index: i32,
423        #[offset(516)]
424        #[rename(name = "neckIndex")]
425        pub neck_index: i32,
426        #[offset(520)]
427        #[rename(name = "headIndex")]
428        pub head_index: i32,
429        #[offset(524)]
430        #[rename(name = "length")]
431        pub length: f32,
432        #[offset(528)]
433        #[rename(name = "hasChest")]
434        pub has_chest: bool,
435        #[offset(529)]
436        #[rename(name = "hasNeck")]
437        pub has_neck: bool,
438        #[offset(530)]
439        #[rename(name = "hasLegs")]
440        pub has_legs: bool,
441        #[offset(532)]
442        #[rename(name = "headHeight")]
443        pub head_height: f32,
444        #[offset(536)]
445        #[rename(name = "sizeMlp")]
446        pub size_mlp: f32,
447        #[offset(540)]
448        #[rename(name = "chestForward")]
449        pub chest_forward: crate::unity_engine::vector3::Vector3,
450    }
451
452    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/root_motion/final_ik/iksolvervr/IKSolverVR_BodyPart.md"))]
453    #[::unity::class(namespace = "RootMotion.FinalIK", name = "IKSolverVR.BodyPart")]
454    #[parent(crate::system::object::Object)]
455    pub struct IKSolverVR_BodyPart {
456        #[offset(24)]
457        #[rename(name = "bones")]
458        pub bones: ::unity::Array<crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone>,
459        #[offset(32)]
460        #[rename(name = "initiated")]
461        pub initiated: bool,
462        #[offset(36)]
463        #[rename(name = "rootPosition")]
464        pub root_position: crate::unity_engine::vector3::Vector3,
465        #[offset(48)]
466        #[rename(name = "rootRotation")]
467        pub root_rotation: crate::unity_engine::quaternion::Quaternion,
468        #[offset(64)]
469        #[rename(name = "index")]
470        pub index: i32,
471        #[offset(68)]
472        #[rename(name = "LOD")]
473        pub lod_field: i32,
474    }
475
476    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/root_motion/final_ik/iksolvervr/IKSolverVR.md"))]
477    #[::unity::class(namespace = "RootMotion.FinalIK", name = "IKSolverVR")]
478    #[parent(crate::root_motion::final_ik::iksolver::IKSolver)]
479    pub struct IKSolverVR {
480        #[offset(88)]
481        #[rename(name = "solverTransforms")]
482        pub solver_transforms: ::unity::Array<crate::unity_engine::transform::Transform>,
483        #[offset(96)]
484        #[rename(name = "hasChest")]
485        pub has_chest: bool,
486        #[offset(97)]
487        #[rename(name = "hasNeck")]
488        pub has_neck: bool,
489        #[offset(98)]
490        #[rename(name = "hasShoulders")]
491        pub has_shoulders: bool,
492        #[offset(99)]
493        #[rename(name = "hasToes")]
494        pub has_toes: bool,
495        #[offset(100)]
496        #[rename(name = "hasLegs")]
497        pub has_legs: bool,
498        #[offset(104)]
499        #[rename(name = "readPositions")]
500        pub read_positions: ::unity::Array<crate::unity_engine::vector3::Vector3>,
501        #[offset(112)]
502        #[rename(name = "readRotations")]
503        pub read_rotations: ::unity::Array<crate::unity_engine::quaternion::Quaternion>,
504        #[offset(120)]
505        #[rename(name = "solvedPositions")]
506        pub solved_positions: ::unity::Array<crate::unity_engine::vector3::Vector3>,
507        #[offset(128)]
508        #[rename(name = "solvedRotations")]
509        pub solved_rotations: ::unity::Array<crate::unity_engine::quaternion::Quaternion>,
510        #[offset(136)]
511        #[rename(name = "defaultLocalRotations")]
512        pub default_local_rotations: ::unity::Array<crate::unity_engine::quaternion::Quaternion>,
513        #[offset(144)]
514        #[rename(name = "defaultLocalPositions")]
515        pub default_local_positions: ::unity::Array<crate::unity_engine::vector3::Vector3>,
516        #[offset(152)]
517        #[rename(name = "rootV")]
518        pub root_v: crate::unity_engine::vector3::Vector3,
519        #[offset(164)]
520        #[rename(name = "rootVelocity")]
521        pub root_velocity: crate::unity_engine::vector3::Vector3,
522        #[offset(176)]
523        #[rename(name = "bodyOffset")]
524        pub body_offset: crate::unity_engine::vector3::Vector3,
525        #[offset(188)]
526        #[rename(name = "supportLegIndex")]
527        pub support_leg_index: i32,
528        #[offset(192)]
529        #[rename(name = "lastLOD")]
530        pub last_lod: i32,
531        #[offset(196)]
532        #[rename(name = "LOD")]
533        pub lod: i32,
534        #[offset(200)]
535        #[rename(name = "scale")]
536        pub scale: f32,
537        #[offset(204)]
538        #[rename(name = "plantFeet")]
539        pub plant_feet: bool,
540        #[offset(216)]
541        #[rename(name = "spine")]
542        pub spine: crate::root_motion::final_ik::iksolvervr::IKSolverVR_Spine,
543        #[offset(224)]
544        #[rename(name = "leftArm")]
545        pub left_arm: crate::root_motion::final_ik::iksolvervr::IKSolverVR_Arm,
546        #[offset(232)]
547        #[rename(name = "rightArm")]
548        pub right_arm: crate::root_motion::final_ik::iksolvervr::IKSolverVR_Arm,
549        #[offset(240)]
550        #[rename(name = "leftLeg")]
551        pub left_leg: crate::root_motion::final_ik::iksolvervr::IKSolverVR_Leg,
552        #[offset(248)]
553        #[rename(name = "rightLeg")]
554        pub right_leg: crate::root_motion::final_ik::iksolvervr::IKSolverVR_Leg,
555        #[offset(256)]
556        #[rename(name = "locomotion")]
557        pub locomotion: crate::root_motion::final_ik::iksolvervr::IKSolverVR_Locomotion,
558        #[offset(264)]
559        #[rename(name = "legs")]
560        pub legs: ::unity::Array<crate::root_motion::final_ik::iksolvervr::IKSolverVR_Leg>,
561        #[offset(272)]
562        #[rename(name = "arms")]
563        pub arms: ::unity::Array<crate::root_motion::final_ik::iksolvervr::IKSolverVR_Arm>,
564        #[offset(280)]
565        #[rename(name = "headPosition")]
566        pub head_position: crate::unity_engine::vector3::Vector3,
567        #[offset(292)]
568        #[rename(name = "headDeltaPosition")]
569        pub head_delta_position: crate::unity_engine::vector3::Vector3,
570        #[offset(304)]
571        #[rename(name = "raycastOriginPelvis")]
572        pub raycast_origin_pelvis: crate::unity_engine::vector3::Vector3,
573        #[offset(316)]
574        #[rename(name = "lastOffset")]
575        pub last_offset: crate::unity_engine::vector3::Vector3,
576        #[offset(328)]
577        #[rename(name = "debugPos1")]
578        pub debug_pos1: crate::unity_engine::vector3::Vector3,
579        #[offset(340)]
580        #[rename(name = "debugPos2")]
581        pub debug_pos2: crate::unity_engine::vector3::Vector3,
582        #[offset(352)]
583        #[rename(name = "debugPos3")]
584        pub debug_pos3: crate::unity_engine::vector3::Vector3,
585        #[offset(364)]
586        #[rename(name = "debugPos4")]
587        pub debug_pos4: crate::unity_engine::vector3::Vector3,
588    }
589
590    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/root_motion/final_ik/iksolvervr/IKSolverVR_RotationOffset.md"))]
591    #[repr(C)]
592    #[derive(::core::clone::Clone, ::core::marker::Copy, ::core::fmt::Debug, ::core::cmp::PartialEq, ::core::cmp::Eq)]
593    pub struct IKSolverVR_RotationOffset {
594        pub value: i32,
595    }
596    impl ::unity::ClassIdentity for IKSolverVR_RotationOffset {
597        const NAME: &'static str = "IKSolverVR.RotationOffset";
598        const NAMESPACE: &'static str = "RootMotion.FinalIK";
599
600        fn class() -> ::unity::Class {
601            static CACHE: ::std::sync::OnceLock<::unity::Class> = ::std::sync::OnceLock::new();
602            *CACHE.get_or_init(|| ::unity::Class::lookup(Self::NAMESPACE, Self::NAME))
603        }
604    }
605    impl ::unity::IlType for IKSolverVR_RotationOffset {
606        fn il_type() -> &'static ::unity::il2cpp::Il2CppType {
607            &<Self as ::unity::ClassIdentity>::class().raw()._1.byval_arg
608        }
609    }
610    impl IKSolverVR_RotationOffset {
611        pub fn pelvis() -> Self {
612            Self { value: 0 }
613        }
614
615        pub fn chest() -> Self {
616            Self { value: 1 }
617        }
618
619        pub fn head() -> Self {
620            Self { value: 2 }
621        }
622    }
623
624    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/root_motion/final_ik/iksolvervr/IKSolverVR_PositionOffset.md"))]
625    #[repr(C)]
626    #[derive(::core::clone::Clone, ::core::marker::Copy, ::core::fmt::Debug, ::core::cmp::PartialEq, ::core::cmp::Eq)]
627    pub struct IKSolverVR_PositionOffset {
628        pub value: i32,
629    }
630    impl ::unity::ClassIdentity for IKSolverVR_PositionOffset {
631        const NAME: &'static str = "IKSolverVR.PositionOffset";
632        const NAMESPACE: &'static str = "RootMotion.FinalIK";
633
634        fn class() -> ::unity::Class {
635            static CACHE: ::std::sync::OnceLock<::unity::Class> = ::std::sync::OnceLock::new();
636            *CACHE.get_or_init(|| ::unity::Class::lookup(Self::NAMESPACE, Self::NAME))
637        }
638    }
639    impl ::unity::IlType for IKSolverVR_PositionOffset {
640        fn il_type() -> &'static ::unity::il2cpp::Il2CppType {
641            &<Self as ::unity::ClassIdentity>::class().raw()._1.byval_arg
642        }
643    }
644    impl IKSolverVR_PositionOffset {
645        pub fn pelvis() -> Self {
646            Self { value: 0 }
647        }
648
649        pub fn chest() -> Self {
650            Self { value: 1 }
651        }
652
653        pub fn head() -> Self {
654            Self { value: 2 }
655        }
656
657        pub fn left_hand() -> Self {
658            Self { value: 3 }
659        }
660
661        pub fn right_hand() -> Self {
662            Self { value: 4 }
663        }
664
665        pub fn left_foot() -> Self {
666            Self { value: 5 }
667        }
668
669        pub fn right_foot() -> Self {
670            Self { value: 6 }
671        }
672
673        pub fn left_heel() -> Self {
674            Self { value: 7 }
675        }
676
677        pub fn right_heel() -> Self {
678            Self { value: 8 }
679        }
680    }
681
682    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/root_motion/final_ik/iksolvervr/IKSolverVR_Arm.md"))]
683    #[::unity::class(namespace = "RootMotion.FinalIK", name = "IKSolverVR.Arm")]
684    #[parent(crate::root_motion::final_ik::iksolvervr::IKSolverVR_BodyPart)]
685    pub struct IKSolverVR_Arm {
686        #[offset(72)]
687        #[rename(name = "target")]
688        pub target: crate::unity_engine::transform::Transform,
689        #[offset(80)]
690        #[rename(name = "bendGoal")]
691        pub bend_goal: crate::unity_engine::transform::Transform,
692        #[offset(88)]
693        #[rename(name = "positionWeight")]
694        pub position_weight: f32,
695        #[offset(92)]
696        #[rename(name = "rotationWeight")]
697        pub rotation_weight: f32,
698        #[offset(96)]
699        #[rename(name = "shoulderRotationMode")]
700        pub shoulder_rotation_mode: crate::root_motion::final_ik::iksolvervr::IKSolverVR_Arm_ShoulderRotationMode,
701        #[offset(100)]
702        #[rename(name = "shoulderRotationWeight")]
703        pub shoulder_rotation_weight: f32,
704        #[offset(104)]
705        #[rename(name = "shoulderTwistWeight")]
706        pub shoulder_twist_weight: f32,
707        #[offset(108)]
708        #[rename(name = "bendGoalWeight")]
709        pub bend_goal_weight: f32,
710        #[offset(112)]
711        #[rename(name = "swivelOffset")]
712        pub swivel_offset: f32,
713        #[offset(116)]
714        #[rename(name = "wristToPalmAxis")]
715        pub wrist_to_palm_axis: crate::unity_engine::vector3::Vector3,
716        #[offset(128)]
717        #[rename(name = "palmToThumbAxis")]
718        pub palm_to_thumb_axis: crate::unity_engine::vector3::Vector3,
719        #[offset(140)]
720        #[rename(name = "armLengthMlp")]
721        pub arm_length_mlp: f32,
722        #[offset(144)]
723        #[rename(name = "stretchCurve")]
724        pub stretch_curve: crate::unity_engine::animationcurve::AnimationCurve,
725        #[offset(152)]
726        #[rename(name = "IKPosition")]
727        pub ik_position: crate::unity_engine::vector3::Vector3,
728        #[offset(164)]
729        #[rename(name = "IKRotation")]
730        pub ik_rotation: crate::unity_engine::quaternion::Quaternion,
731        #[offset(180)]
732        #[rename(name = "bendDirection")]
733        pub bend_direction: crate::unity_engine::vector3::Vector3,
734        #[offset(192)]
735        #[rename(name = "handPositionOffset")]
736        pub hand_position_offset: crate::unity_engine::vector3::Vector3,
737        #[offset(232)]
738        #[rename(name = "hasShoulder")]
739        pub has_shoulder: bool,
740        #[offset(236)]
741        #[rename(name = "chestForwardAxis")]
742        pub chest_forward_axis: crate::unity_engine::vector3::Vector3,
743        #[offset(248)]
744        #[rename(name = "chestUpAxis")]
745        pub chest_up_axis: crate::unity_engine::vector3::Vector3,
746        #[offset(260)]
747        #[rename(name = "chestRotation")]
748        pub chest_rotation: crate::unity_engine::quaternion::Quaternion,
749        #[offset(276)]
750        #[rename(name = "chestForward")]
751        pub chest_forward: crate::unity_engine::vector3::Vector3,
752        #[offset(288)]
753        #[rename(name = "chestUp")]
754        pub chest_up: crate::unity_engine::vector3::Vector3,
755        #[offset(300)]
756        #[rename(name = "forearmRelToUpperArm")]
757        pub forearm_rel_to_upper_arm: crate::unity_engine::quaternion::Quaternion,
758        #[offset(316)]
759        #[rename(name = "upperArmBendAxis")]
760        pub upper_arm_bend_axis: crate::unity_engine::vector3::Vector3,
761        #[static_field]
762        #[rename(name = "yawOffsetAngle")]
763        pub yaw_offset_angle: f32,
764        #[static_field]
765        #[rename(name = "pitchOffsetAngle")]
766        pub pitch_offset_angle: f32,
767    }
768}
769
770#[cfg(feature = "root_motion-final_ik-iksolvervr-types")]
771pub use __types::*;
772
773#[cfg(feature = "root_motion-final_ik-iksolvervr")]
774pub trait IIKSolverVR_FootstepMethods: IIKSolverVR_Footstep {
775    #[doc = "`get_isStepping()` overload"]
776    fn get_is_stepping(self) -> bool {
777        unsafe {
778            let __receiver = <IKSolverVR_Footstep as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
779            ::unity::il2cpp_call!((::unity::module_base()+0x2af5470usize)as*mut u8,bool;
780(IKSolverVR_Footstep)__receiver)
781        }
782    }
783    #[doc = "`get_stepProgress()` overload"]
784    fn get_step_progress(self) -> f32 {
785        unsafe {
786            let __receiver = <IKSolverVR_Footstep as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
787            ::unity::il2cpp_call!((::unity::module_base()+0x2af5490usize)as*mut u8,f32;
788(IKSolverVR_Footstep)__receiver)
789        }
790    }
791    #[doc = "`set_stepProgress(f32)` overload"]
792    fn set_step_progress(self, value: impl ::core::convert::Into<f32>) -> () {
793        unsafe {
794            let __receiver = <IKSolverVR_Footstep as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
795            ::unity::il2cpp_call!((::unity::module_base()+0x2af54a0usize)as*mut u8,();
796(IKSolverVR_Footstep)__receiver,(f32)::core::convert::Into::into(value))
797        }
798    }
799    #[doc = "`.ctor(crate::unity_engine::quaternion::Quaternion, crate::unity_engine::vector3::Vector3, crate::unity_engine::quaternion::Quaternion, crate::unity_engine::vector3::Vector3)` overload"]
800    fn ctor(
801        self,
802        root_rotation: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>,
803        foot_position: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
804        foot_rotation: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>,
805        character_space_offset: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
806    ) -> () {
807        unsafe {
808            let __receiver = <IKSolverVR_Footstep as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
809            ::unity::il2cpp_call!((::unity::module_base()+0x2af54b0usize)as*mut u8,();
810(IKSolverVR_Footstep)__receiver,(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(root_rotation),(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(foot_position),(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(foot_rotation),(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(character_space_offset))
811        }
812    }
813    #[doc = "`Reset(crate::unity_engine::quaternion::Quaternion, crate::unity_engine::vector3::Vector3, crate::unity_engine::quaternion::Quaternion)` overload"]
814    fn reset(
815        self,
816        root_rotation: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>,
817        foot_position: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
818        foot_rotation: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>,
819    ) -> () {
820        unsafe {
821            let __receiver = <IKSolverVR_Footstep as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
822            ::unity::il2cpp_call!((::unity::module_base()+0x2af5660usize)as*mut u8,();
823(IKSolverVR_Footstep)__receiver,(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(root_rotation),(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(foot_position),(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(foot_rotation))
824        }
825    }
826    #[doc = "`StepTo(crate::unity_engine::vector3::Vector3, crate::unity_engine::quaternion::Quaternion, f32)` overload"]
827    fn step_to(
828        self,
829        p: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
830        root_rotation: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>,
831        step_threshold: impl ::core::convert::Into<f32>,
832    ) -> () {
833        unsafe {
834            let __receiver = <IKSolverVR_Footstep as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
835            ::unity::il2cpp_call!((::unity::module_base()+0x2af56e0usize)as*mut u8,();
836(IKSolverVR_Footstep)__receiver,(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(p),(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(root_rotation),(f32)::core::convert::Into::into(step_threshold))
837        }
838    }
839    #[doc = "`UpdateStepping(crate::unity_engine::vector3::Vector3, crate::unity_engine::quaternion::Quaternion, f32)` overload"]
840    fn update_stepping(
841        self,
842        p: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
843        root_rotation: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>,
844        speed: impl ::core::convert::Into<f32>,
845    ) -> () {
846        unsafe {
847            let __receiver = <IKSolverVR_Footstep as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
848            ::unity::il2cpp_call!((::unity::module_base()+0x2af58c0usize)as*mut u8,();
849(IKSolverVR_Footstep)__receiver,(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(p),(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(root_rotation),(f32)::core::convert::Into::into(speed))
850        }
851    }
852    #[doc = "`UpdateStanding(crate::unity_engine::quaternion::Quaternion, f32, f32)` overload"]
853    fn update_standing(
854        self,
855        root_rotation: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>,
856        min_angle: impl ::core::convert::Into<f32>,
857        speed: impl ::core::convert::Into<f32>,
858    ) -> () {
859        unsafe {
860            let __receiver = <IKSolverVR_Footstep as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
861            ::unity::il2cpp_call!((::unity::module_base()+0x2af5a30usize)as*mut u8,();
862(IKSolverVR_Footstep)__receiver,(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(root_rotation),(f32)::core::convert::Into::into(min_angle),(f32)::core::convert::Into::into(speed))
863        }
864    }
865    #[doc = "`Update(crate::root_motion::interpolationmode::InterpolationMode, crate::unity_engine::events::unityevent::UnityEvent)` overload"]
866    fn update(
867        self,
868        interpolation: impl ::core::convert::Into<crate::root_motion::interpolationmode::InterpolationMode>,
869        on_step: impl ::core::convert::Into<crate::unity_engine::events::unityevent::UnityEvent>,
870    ) -> () {
871        unsafe {
872            let __receiver = <IKSolverVR_Footstep as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
873            ::unity::il2cpp_call!((::unity::module_base()+0x2af5ba0usize)as*mut u8,();
874(IKSolverVR_Footstep)__receiver,(crate::root_motion::interpolationmode::InterpolationMode)::core::convert::Into::into(interpolation),(crate::unity_engine::events::unityevent::UnityEvent)::core::convert::Into::into(on_step))
875        }
876    }
877}
878
879#[cfg(feature = "root_motion-final_ik-iksolvervr")]
880impl<__T: IIKSolverVR_Footstep> IIKSolverVR_FootstepMethods for __T {}
881
882#[cfg(feature = "root_motion-final_ik-iksolvervr")]
883impl IKSolverVR_Footstep {
884    pub fn get_is_stepping_method_info() -> &'static ::unity::il2cpp::MethodInfo {
885        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
886    }
887
888    pub fn get_step_progress_method_info() -> &'static ::unity::il2cpp::MethodInfo {
889        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
890    }
891
892    pub fn set_step_progress_method_info() -> &'static ::unity::il2cpp::MethodInfo {
893        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
894    }
895
896    pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
897        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[3]
898    }
899
900    pub fn reset_method_info() -> &'static ::unity::il2cpp::MethodInfo {
901        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[4]
902    }
903
904    pub fn step_to_method_info() -> &'static ::unity::il2cpp::MethodInfo {
905        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[5]
906    }
907
908    pub fn update_stepping_method_info() -> &'static ::unity::il2cpp::MethodInfo {
909        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[6]
910    }
911
912    pub fn update_standing_method_info() -> &'static ::unity::il2cpp::MethodInfo {
913        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[7]
914    }
915
916    pub fn update_method_info() -> &'static ::unity::il2cpp::MethodInfo {
917        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[8]
918    }
919}
920
921#[cfg(feature = "root_motion-final_ik-iksolvervr")]
922impl IKSolverVR_Footstep {
923    #[doc = "`.ctor(crate::unity_engine::quaternion::Quaternion, crate::unity_engine::vector3::Vector3, crate::unity_engine::quaternion::Quaternion, crate::unity_engine::vector3::Vector3)` — overload selector"]
924    pub fn new(
925        root_rotation: crate::unity_engine::quaternion::Quaternion,
926        foot_position: crate::unity_engine::vector3::Vector3,
927        foot_rotation: crate::unity_engine::quaternion::Quaternion,
928        character_space_offset: crate::unity_engine::vector3::Vector3,
929    ) -> Self {
930        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
931            panic!(
932                "{}
933::{}
934 failed to instantiate",
935                ::core::stringify!(IKSolverVR_Footstep),
936                ::core::stringify!(new),
937            )
938        });
939        <Self as IIKSolverVR_FootstepMethods>::ctor(this, root_rotation, foot_position, foot_rotation, character_space_offset);
940        this
941    }
942}
943
944#[cfg(feature = "root_motion-final_ik-iksolvervr")]
945pub trait IIKSolverVR_LegMethods: IIKSolverVR_Leg {
946    #[doc = "`get_position()` overload"]
947    fn get_position(self) -> crate::unity_engine::vector3::Vector3 {
948        unsafe {
949            let __receiver = <IKSolverVR_Leg as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
950            ::unity::il2cpp_call!((::unity::module_base()+0x2af5cf0usize)as*mut u8,crate::unity_engine::vector3::Vector3;
951(IKSolverVR_Leg)__receiver)
952        }
953    }
954    #[doc = "`set_position(crate::unity_engine::vector3::Vector3)` overload"]
955    fn set_position(self, value: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>) -> () {
956        unsafe {
957            let __receiver = <IKSolverVR_Leg as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
958            ::unity::il2cpp_call!((::unity::module_base()+0x2af5d00usize)as*mut u8,();
959(IKSolverVR_Leg)__receiver,(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(value))
960        }
961    }
962    #[doc = "`get_rotation()` overload"]
963    fn get_rotation(self) -> crate::unity_engine::quaternion::Quaternion {
964        unsafe {
965            let __receiver = <IKSolverVR_Leg as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
966            ::unity::il2cpp_call!((::unity::module_base()+0x2af5d10usize)as*mut u8,crate::unity_engine::quaternion::Quaternion;
967(IKSolverVR_Leg)__receiver)
968        }
969    }
970    #[doc = "`set_rotation(crate::unity_engine::quaternion::Quaternion)` overload"]
971    fn set_rotation(self, value: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>) -> () {
972        unsafe {
973            let __receiver = <IKSolverVR_Leg as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
974            ::unity::il2cpp_call!((::unity::module_base()+0x2af5d20usize)as*mut u8,();
975(IKSolverVR_Leg)__receiver,(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(value))
976        }
977    }
978    #[doc = "`get_hasToes()` overload"]
979    fn get_has_toes(self) -> bool {
980        unsafe {
981            let __receiver = <IKSolverVR_Leg as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
982            ::unity::il2cpp_call!((::unity::module_base()+0x2af5d40usize)as*mut u8,bool;
983(IKSolverVR_Leg)__receiver)
984        }
985    }
986    #[doc = "`set_hasToes(bool)` overload"]
987    fn set_has_toes(self, value: impl ::core::convert::Into<bool>) -> () {
988        unsafe {
989            let __receiver = <IKSolverVR_Leg as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
990            ::unity::il2cpp_call!((::unity::module_base()+0x2af5d50usize)as*mut u8,();
991(IKSolverVR_Leg)__receiver,(bool)::core::convert::Into::into(value))
992        }
993    }
994    #[doc = "`get_thigh()` overload"]
995    fn get_thigh(self) -> crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone {
996        unsafe {
997            let __receiver = <IKSolverVR_Leg as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
998            ::unity::il2cpp_call!((::unity::module_base()+0x2af5d60usize)as*mut u8,crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone;
999(IKSolverVR_Leg)__receiver)
1000        }
1001    }
1002    #[doc = "`get_calf()` overload"]
1003    fn get_calf(self) -> crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone {
1004        unsafe {
1005            let __receiver = <IKSolverVR_Leg as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1006            ::unity::il2cpp_call!((::unity::module_base()+0x2af5d90usize)as*mut u8,crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone;
1007(IKSolverVR_Leg)__receiver)
1008        }
1009    }
1010    #[doc = "`get_foot()` overload"]
1011    fn get_foot(self) -> crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone {
1012        unsafe {
1013            let __receiver = <IKSolverVR_Leg as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1014            ::unity::il2cpp_call!((::unity::module_base()+0x2af5dc0usize)as*mut u8,crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone;
1015(IKSolverVR_Leg)__receiver)
1016        }
1017    }
1018    #[doc = "`get_toes()` overload"]
1019    fn get_toes(self) -> crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone {
1020        unsafe {
1021            let __receiver = <IKSolverVR_Leg as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1022            ::unity::il2cpp_call!((::unity::module_base()+0x2af5df0usize)as*mut u8,crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone;
1023(IKSolverVR_Leg)__receiver)
1024        }
1025    }
1026    #[doc = "`get_lastBone()` overload"]
1027    fn get_last_bone(self) -> crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone {
1028        unsafe {
1029            let __receiver = <IKSolverVR_Leg as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1030            ::unity::il2cpp_call!((::unity::module_base()+0x2af5e20usize)as*mut u8,crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone;
1031(IKSolverVR_Leg)__receiver)
1032        }
1033    }
1034    #[doc = "`get_thighRelativeToPelvis()` overload"]
1035    fn get_thigh_relative_to_pelvis(self) -> crate::unity_engine::vector3::Vector3 {
1036        unsafe {
1037            let __receiver = <IKSolverVR_Leg as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1038            ::unity::il2cpp_call!((::unity::module_base()+0x2af5e60usize)as*mut u8,crate::unity_engine::vector3::Vector3;
1039(IKSolverVR_Leg)__receiver)
1040        }
1041    }
1042    #[doc = "`set_thighRelativeToPelvis(crate::unity_engine::vector3::Vector3)` overload"]
1043    fn set_thigh_relative_to_pelvis(self, value: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>) -> () {
1044        unsafe {
1045            let __receiver = <IKSolverVR_Leg as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1046            ::unity::il2cpp_call!((::unity::module_base()+0x2af5e70usize)as*mut u8,();
1047(IKSolverVR_Leg)__receiver,(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(value))
1048        }
1049    }
1050    #[doc = "`OnRead(::unity::Array<crate::unity_engine::vector3::Vector3>, ::unity::Array<crate::unity_engine::quaternion::Quaternion>, bool, bool, bool, bool, bool, i32, i32)` overload"]
1051    fn on_read(
1052        self,
1053        positions: impl ::core::convert::Into<::unity::Array<crate::unity_engine::vector3::Vector3>>,
1054        rotations: impl ::core::convert::Into<::unity::Array<crate::unity_engine::quaternion::Quaternion>>,
1055        has_chest: impl ::core::convert::Into<bool>,
1056        has_neck: impl ::core::convert::Into<bool>,
1057        has_shoulders: impl ::core::convert::Into<bool>,
1058        has_toes: impl ::core::convert::Into<bool>,
1059        has_legs: impl ::core::convert::Into<bool>,
1060        root_index: impl ::core::convert::Into<i32>,
1061        index: impl ::core::convert::Into<i32>,
1062    ) -> () {
1063        unsafe {
1064            let __receiver = <IKSolverVR_Leg as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1065            {
1066                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
1067                let __vi = *__vt.get(4usize).unwrap_or_else(|| {
1068                    panic!(
1069                        "unity: virtual slot {}
1070 out of range (vtable len {}
1071) on the runtime class behind {}
1072 (method `{}
1073`)",
1074                        4usize,
1075                        __vt.len(),
1076                        <IKSolverVR_Leg as ::unity::ClassIdentity>::NAME,
1077                        "OnRead",
1078                    )
1079                });
1080                let __inner: extern "C" fn(
1081                    IKSolverVR_Leg,
1082                    ::unity::Array<crate::unity_engine::vector3::Vector3>,
1083                    ::unity::Array<crate::unity_engine::quaternion::Quaternion>,
1084                    bool,
1085                    bool,
1086                    bool,
1087                    bool,
1088                    bool,
1089                    i32,
1090                    i32,
1091                    ::unity::OptionalMethod,
1092                ) -> () = ::core::mem::transmute(__vi.method_ptr);
1093                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
1094                __inner(
1095                    __receiver,
1096                    ::core::convert::Into::into(positions),
1097                    ::core::convert::Into::into(rotations),
1098                    ::core::convert::Into::into(has_chest),
1099                    ::core::convert::Into::into(has_neck),
1100                    ::core::convert::Into::into(has_shoulders),
1101                    ::core::convert::Into::into(has_toes),
1102                    ::core::convert::Into::into(has_legs),
1103                    ::core::convert::Into::into(root_index),
1104                    ::core::convert::Into::into(index),
1105                    __mi,
1106                )
1107            }
1108        }
1109    }
1110    #[doc = "`PreSolve()` overload"]
1111    fn pre_solve(self) -> () {
1112        unsafe {
1113            let __receiver = <IKSolverVR_Leg as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1114            {
1115                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
1116                let __vi = *__vt.get(5usize).unwrap_or_else(|| {
1117                    panic!(
1118                        "unity: virtual slot {}
1119 out of range (vtable len {}
1120) on the runtime class behind {}
1121 (method `{}
1122`)",
1123                        5usize,
1124                        __vt.len(),
1125                        <IKSolverVR_Leg as ::unity::ClassIdentity>::NAME,
1126                        "PreSolve",
1127                    )
1128                });
1129                let __inner: extern "C" fn(IKSolverVR_Leg, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
1130                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
1131                __inner(__receiver, __mi)
1132            }
1133        }
1134    }
1135    #[doc = "`ApplyOffsets(f32)` overload"]
1136    fn apply_offsets(self, scale: impl ::core::convert::Into<f32>) -> () {
1137        unsafe {
1138            let __receiver = <IKSolverVR_Leg as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1139            {
1140                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
1141                let __vi = *__vt.get(7usize).unwrap_or_else(|| {
1142                    panic!(
1143                        "unity: virtual slot {}
1144 out of range (vtable len {}
1145) on the runtime class behind {}
1146 (method `{}
1147`)",
1148                        7usize,
1149                        __vt.len(),
1150                        <IKSolverVR_Leg as ::unity::ClassIdentity>::NAME,
1151                        "ApplyOffsets",
1152                    )
1153                });
1154                let __inner: extern "C" fn(IKSolverVR_Leg, f32, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
1155                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
1156                __inner(__receiver, ::core::convert::Into::into(scale), __mi)
1157            }
1158        }
1159    }
1160    #[doc = "`ApplyPositionOffset(crate::unity_engine::vector3::Vector3, f32)` overload"]
1161    fn apply_position_offset(
1162        self,
1163        offset: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
1164        weight: impl ::core::convert::Into<f32>,
1165    ) -> () {
1166        unsafe {
1167            let __receiver = <IKSolverVR_Leg as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1168            ::unity::il2cpp_call!((::unity::module_base()+0x2af69e0usize)as*mut u8,();
1169(IKSolverVR_Leg)__receiver,(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(offset),(f32)::core::convert::Into::into(weight))
1170        }
1171    }
1172    #[doc = "`ApplyRotationOffset(crate::unity_engine::quaternion::Quaternion, f32)` overload"]
1173    fn apply_rotation_offset(
1174        self,
1175        offset: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>,
1176        weight: impl ::core::convert::Into<f32>,
1177    ) -> () {
1178        unsafe {
1179            let __receiver = <IKSolverVR_Leg as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1180            ::unity::il2cpp_call!((::unity::module_base()+0x2af6870usize)as*mut u8,();
1181(IKSolverVR_Leg)__receiver,(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(offset),(f32)::core::convert::Into::into(weight))
1182        }
1183    }
1184    #[doc = "`Solve(bool)` overload"]
1185    fn solve(self, stretch: impl ::core::convert::Into<bool>) -> () {
1186        unsafe {
1187            let __receiver = <IKSolverVR_Leg as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1188            ::unity::il2cpp_call!((::unity::module_base()+0x2af6dd0usize)as*mut u8,();
1189(IKSolverVR_Leg)__receiver,(bool)::core::convert::Into::into(stretch))
1190        }
1191    }
1192    #[doc = "`FixTwistRotations()` overload"]
1193    fn fix_twist_rotations(self) -> () {
1194        unsafe {
1195            let __receiver = <IKSolverVR_Leg as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1196            ::unity::il2cpp_call!((::unity::module_base()+0x2af7230usize)as*mut u8,();
1197(IKSolverVR_Leg)__receiver)
1198        }
1199    }
1200    #[doc = "`Stretching()` overload"]
1201    fn stretching(self) -> () {
1202        unsafe {
1203            let __receiver = <IKSolverVR_Leg as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1204            ::unity::il2cpp_call!((::unity::module_base()+0x2af6f70usize)as*mut u8,();
1205(IKSolverVR_Leg)__receiver)
1206        }
1207    }
1208    #[doc = "`Write(*mut::unity::Array<crate::unity_engine::vector3::Vector3>, *mut::unity::Array<crate::unity_engine::quaternion::Quaternion>)` overload"]
1209    fn write(
1210        self,
1211    ) -> (
1212        ::unity::Array<crate::unity_engine::vector3::Vector3>,
1213        ::unity::Array<crate::unity_engine::quaternion::Quaternion>,
1214    ) {
1215        unsafe {
1216            let __receiver = <IKSolverVR_Leg as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1217            let mut __out_0 = ::core::mem::MaybeUninit::<::unity::Array<crate::unity_engine::vector3::Vector3>>::uninit();
1218            let mut __out_1 = ::core::mem::MaybeUninit::<::unity::Array<crate::unity_engine::quaternion::Quaternion>>::uninit();
1219            {
1220                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
1221                let __vi = *__vt.get(6usize).unwrap_or_else(|| {
1222                    panic!(
1223                        "unity: virtual slot {}
1224 out of range (vtable len {}
1225) on the runtime class behind {}
1226 (method `{}
1227`)",
1228                        6usize,
1229                        __vt.len(),
1230                        <IKSolverVR_Leg as ::unity::ClassIdentity>::NAME,
1231                        "Write",
1232                    )
1233                });
1234                let __inner: extern "C" fn(
1235                    IKSolverVR_Leg,
1236                    *mut ::unity::Array<crate::unity_engine::vector3::Vector3>,
1237                    *mut ::unity::Array<crate::unity_engine::quaternion::Quaternion>,
1238                    ::unity::OptionalMethod,
1239                ) -> () = ::core::mem::transmute(__vi.method_ptr);
1240                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
1241                __inner(__receiver, __out_0.as_mut_ptr(), __out_1.as_mut_ptr(), __mi)
1242            };
1243            (__out_0.assume_init(), __out_1.assume_init())
1244        }
1245    }
1246    #[doc = "`ResetOffsets()` overload"]
1247    fn reset_offsets(self) -> () {
1248        unsafe {
1249            let __receiver = <IKSolverVR_Leg as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1250            {
1251                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
1252                let __vi = *__vt.get(8usize).unwrap_or_else(|| {
1253                    panic!(
1254                        "unity: virtual slot {}
1255 out of range (vtable len {}
1256) on the runtime class behind {}
1257 (method `{}
1258`)",
1259                        8usize,
1260                        __vt.len(),
1261                        <IKSolverVR_Leg as ::unity::ClassIdentity>::NAME,
1262                        "ResetOffsets",
1263                    )
1264                });
1265                let __inner: extern "C" fn(IKSolverVR_Leg, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
1266                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
1267                __inner(__receiver, __mi)
1268            }
1269        }
1270    }
1271    #[doc = "`.ctor()` overload"]
1272    fn ctor(self) -> () {
1273        unsafe {
1274            let __receiver = <IKSolverVR_Leg as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1275            ::unity::il2cpp_call!((::unity::module_base()+0x2af7730usize)as*mut u8,();
1276(IKSolverVR_Leg)__receiver)
1277        }
1278    }
1279}
1280
1281#[cfg(feature = "root_motion-final_ik-iksolvervr")]
1282impl<__T: IIKSolverVR_Leg> IIKSolverVR_LegMethods for __T {}
1283
1284#[cfg(feature = "root_motion-final_ik-iksolvervr")]
1285impl IKSolverVR_Leg {
1286    pub fn get_position_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1287        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
1288    }
1289
1290    pub fn set_position_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1291        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
1292    }
1293
1294    pub fn get_rotation_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1295        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
1296    }
1297
1298    pub fn set_rotation_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1299        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[3]
1300    }
1301
1302    pub fn get_has_toes_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1303        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[4]
1304    }
1305
1306    pub fn set_has_toes_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1307        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[5]
1308    }
1309
1310    pub fn get_thigh_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1311        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[6]
1312    }
1313
1314    pub fn get_calf_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1315        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[7]
1316    }
1317
1318    pub fn get_foot_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1319        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[8]
1320    }
1321
1322    pub fn get_toes_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1323        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[9]
1324    }
1325
1326    pub fn get_last_bone_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1327        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[10]
1328    }
1329
1330    pub fn get_thigh_relative_to_pelvis_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1331        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[11]
1332    }
1333
1334    pub fn set_thigh_relative_to_pelvis_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1335        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[12]
1336    }
1337
1338    pub fn on_read_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1339        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[13]
1340    }
1341
1342    pub fn pre_solve_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1343        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[14]
1344    }
1345
1346    pub fn apply_offsets_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1347        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[15]
1348    }
1349
1350    pub fn apply_position_offset_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1351        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[16]
1352    }
1353
1354    pub fn apply_rotation_offset_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1355        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[17]
1356    }
1357
1358    pub fn solve_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1359        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[18]
1360    }
1361
1362    pub fn fix_twist_rotations_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1363        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[19]
1364    }
1365
1366    pub fn stretching_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1367        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[20]
1368    }
1369
1370    pub fn write_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1371        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[21]
1372    }
1373
1374    pub fn reset_offsets_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1375        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[22]
1376    }
1377
1378    pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1379        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[23]
1380    }
1381}
1382
1383#[cfg(feature = "root_motion-final_ik-iksolvervr")]
1384impl IKSolverVR_Leg {
1385    #[doc = "Direct (non-virtual) call to `IKSolverVR_Leg`'s own `OnRead`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
1386    pub unsafe fn on_read(
1387        this: impl ::core::convert::Into<::unity::IlInstance>,
1388        positions: ::unity::Array<crate::unity_engine::vector3::Vector3>,
1389        rotations: ::unity::Array<crate::unity_engine::quaternion::Quaternion>,
1390        has_chest: bool,
1391        has_neck: bool,
1392        has_shoulders: bool,
1393        has_toes: bool,
1394        has_legs: bool,
1395        root_index: i32,
1396        index: i32,
1397    ) -> () {
1398        let __mi = Self::on_read_method_info();
1399        let __inner: extern "C" fn(
1400            ::unity::IlInstance,
1401            ::unity::Array<crate::unity_engine::vector3::Vector3>,
1402            ::unity::Array<crate::unity_engine::quaternion::Quaternion>,
1403            bool,
1404            bool,
1405            bool,
1406            bool,
1407            bool,
1408            i32,
1409            i32,
1410            ::unity::OptionalMethod,
1411        ) -> () = ::core::mem::transmute(__mi.method_ptr);
1412        __inner(
1413            this.into(),
1414            positions,
1415            rotations,
1416            has_chest,
1417            has_neck,
1418            has_shoulders,
1419            has_toes,
1420            has_legs,
1421            root_index,
1422            index,
1423            ::core::option::Option::None,
1424        )
1425    }
1426
1427    #[doc = "Direct (non-virtual) call to `IKSolverVR_Leg`'s own `PreSolve`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
1428    pub unsafe fn pre_solve(this: impl ::core::convert::Into<::unity::IlInstance>) -> () {
1429        let __mi = Self::pre_solve_method_info();
1430        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
1431        __inner(this.into(), ::core::option::Option::None)
1432    }
1433
1434    #[doc = "Direct (non-virtual) call to `IKSolverVR_Leg`'s own `ApplyOffsets`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
1435    pub unsafe fn apply_offsets(this: impl ::core::convert::Into<::unity::IlInstance>, scale: f32) -> () {
1436        let __mi = Self::apply_offsets_method_info();
1437        let __inner: extern "C" fn(::unity::IlInstance, f32, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
1438        __inner(this.into(), scale, ::core::option::Option::None)
1439    }
1440
1441    #[doc = "Direct (non-virtual) call to `IKSolverVR_Leg`'s own `Write`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
1442    pub unsafe fn write(
1443        this: impl ::core::convert::Into<::unity::IlInstance>,
1444        solved_positions: *mut ::unity::Array<crate::unity_engine::vector3::Vector3>,
1445        solved_rotations: *mut ::unity::Array<crate::unity_engine::quaternion::Quaternion>,
1446    ) -> () {
1447        let __mi = Self::write_method_info();
1448        let __inner: extern "C" fn(
1449            ::unity::IlInstance,
1450            *mut ::unity::Array<crate::unity_engine::vector3::Vector3>,
1451            *mut ::unity::Array<crate::unity_engine::quaternion::Quaternion>,
1452            ::unity::OptionalMethod,
1453        ) -> () = ::core::mem::transmute(__mi.method_ptr);
1454        __inner(this.into(), solved_positions, solved_rotations, ::core::option::Option::None)
1455    }
1456
1457    #[doc = "Direct (non-virtual) call to `IKSolverVR_Leg`'s own `ResetOffsets`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
1458    pub unsafe fn reset_offsets(this: impl ::core::convert::Into<::unity::IlInstance>) -> () {
1459        let __mi = Self::reset_offsets_method_info();
1460        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
1461        __inner(this.into(), ::core::option::Option::None)
1462    }
1463}
1464
1465#[cfg(feature = "root_motion-final_ik-iksolvervr")]
1466impl IKSolverVR_Leg {
1467    #[doc = "`.ctor()` — no args"]
1468    pub fn new() -> Self {
1469        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
1470            panic!(
1471                "{}
1472::{}
1473 failed to instantiate",
1474                ::core::stringify!(IKSolverVR_Leg),
1475                ::core::stringify!(new),
1476            )
1477        });
1478        <Self as IIKSolverVR_LegMethods>::ctor(this);
1479        this
1480    }
1481}
1482
1483#[cfg(feature = "root_motion-final_ik-iksolvervr")]
1484impl IKSolverVR_VirtualBone {
1485    #[doc = "`SwingRotation(::unity::Array<crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone>, i32, crate::unity_engine::vector3::Vector3, f32)` overload"]
1486    pub fn swing_rotation(
1487        bones: impl ::core::convert::Into<::unity::Array<crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone>>,
1488        index: impl ::core::convert::Into<i32>,
1489        swing_target: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
1490        weight: impl ::core::convert::Into<f32>,
1491    ) -> () {
1492        unsafe {
1493            ::unity::il2cpp_call!((::unity::module_base()+0x1fc6250usize)as*mut u8,();
1494(::unity::Array<crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone>)::core::convert::Into::into(bones),(i32)::core::convert::Into::into(index),(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(swing_target),(f32)::core::convert::Into::into(weight))
1495        }
1496    }
1497
1498    #[doc = "`PreSolve(*mut::unity::Array<crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone>)` overload"]
1499    pub fn pre_solve() -> (f32, ::unity::Array<crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone>) {
1500        unsafe {
1501            let mut __out_0 = ::core::mem::MaybeUninit::<::unity::Array<crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone>>::uninit();
1502            let __ret = {
1503                ::unity::il2cpp_call!((::unity::module_base()+0x1fc63c0usize)as*mut u8,f32;
1504(*mut::unity::Array<crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone>)__out_0.as_mut_ptr())
1505            };
1506            (__ret, __out_0.assume_init())
1507        }
1508    }
1509
1510    #[doc = "`RotateAroundPoint(::unity::Array<crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone>, i32, crate::unity_engine::vector3::Vector3, crate::unity_engine::quaternion::Quaternion)` overload"]
1511    pub fn rotate_around_point(
1512        bones: impl ::core::convert::Into<::unity::Array<crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone>>,
1513        index: impl ::core::convert::Into<i32>,
1514        point: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
1515        rotation: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>,
1516    ) -> () {
1517        unsafe {
1518            ::unity::il2cpp_call!((::unity::module_base()+0x1fc5f70usize)as*mut u8,();
1519(::unity::Array<crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone>)::core::convert::Into::into(bones),(i32)::core::convert::Into::into(index),(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(point),(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(rotation))
1520        }
1521    }
1522
1523    #[doc = "`RotateBy(::unity::Array<crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone>, i32, crate::unity_engine::quaternion::Quaternion)` overload"]
1524    pub fn rotate_by(
1525        bones: impl ::core::convert::Into<::unity::Array<crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone>>,
1526        index: impl ::core::convert::Into<i32>,
1527        rotation: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>,
1528    ) -> () {
1529        unsafe {
1530            ::unity::il2cpp_call!((::unity::module_base()+0x1fc65a0usize)as*mut u8,();
1531(::unity::Array<crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone>)::core::convert::Into::into(bones),(i32)::core::convert::Into::into(index),(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(rotation))
1532        }
1533    }
1534
1535    #[doc = "`RotateBy(::unity::Array<crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone>, crate::unity_engine::quaternion::Quaternion)` overload"]
1536    pub fn rotate_by_2(
1537        bones: impl ::core::convert::Into<::unity::Array<crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone>>,
1538        rotation: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>,
1539    ) -> () {
1540        unsafe {
1541            ::unity::il2cpp_call!((::unity::module_base()+0x1fc66f0usize)as*mut u8,();
1542(::unity::Array<crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone>)::core::convert::Into::into(bones),(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(rotation))
1543        }
1544    }
1545
1546    #[doc = "`RotateTo(::unity::Array<crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone>, i32, crate::unity_engine::quaternion::Quaternion)` overload"]
1547    pub fn rotate_to(
1548        bones: impl ::core::convert::Into<::unity::Array<crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone>>,
1549        index: impl ::core::convert::Into<i32>,
1550        rotation: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>,
1551    ) -> () {
1552        unsafe {
1553            ::unity::il2cpp_call!((::unity::module_base()+0x1fc6820usize)as*mut u8,();
1554(::unity::Array<crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone>)::core::convert::Into::into(bones),(i32)::core::convert::Into::into(index),(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(rotation))
1555        }
1556    }
1557
1558    #[doc = "`SolveTrigonometric(::unity::Array<crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone>, i32, i32, i32, crate::unity_engine::vector3::Vector3, crate::unity_engine::vector3::Vector3, f32)` overload"]
1559    pub fn solve_trigonometric(
1560        bones: impl ::core::convert::Into<::unity::Array<crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone>>,
1561        first: impl ::core::convert::Into<i32>,
1562        second: impl ::core::convert::Into<i32>,
1563        third: impl ::core::convert::Into<i32>,
1564        target_position: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
1565        bend_normal: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
1566        weight: impl ::core::convert::Into<f32>,
1567    ) -> () {
1568        unsafe {
1569            ::unity::il2cpp_call!((::unity::module_base()+0x1fc5650usize)as*mut u8,();
1570(::unity::Array<crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone>)::core::convert::Into::into(bones),(i32)::core::convert::Into::into(first),(i32)::core::convert::Into::into(second),(i32)::core::convert::Into::into(third),(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(target_position),(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(bend_normal),(f32)::core::convert::Into::into(weight))
1571        }
1572    }
1573
1574    #[doc = "`GetDirectionToBendPoint(crate::unity_engine::vector3::Vector3, f32, crate::unity_engine::vector3::Vector3, f32, f32)` overload"]
1575    pub fn get_direction_to_bend_point(
1576        direction: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
1577        direction_mag: impl ::core::convert::Into<f32>,
1578        bend_direction: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
1579        sqr_mag1: impl ::core::convert::Into<f32>,
1580        sqr_mag2: impl ::core::convert::Into<f32>,
1581    ) -> crate::unity_engine::vector3::Vector3 {
1582        unsafe {
1583            ::unity::il2cpp_call!((::unity::module_base()+0x1fc68d0usize)as*mut u8,crate::unity_engine::vector3::Vector3;
1584(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(direction),(f32)::core::convert::Into::into(direction_mag),(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(bend_direction),(f32)::core::convert::Into::into(sqr_mag1),(f32)::core::convert::Into::into(sqr_mag2))
1585        }
1586    }
1587
1588    #[doc = "`SolveFABRIK(::unity::Array<crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone>, crate::unity_engine::vector3::Vector3, crate::unity_engine::vector3::Vector3, f32, f32, i32, f32, crate::unity_engine::vector3::Vector3)` overload"]
1589    pub fn solve_fabrik(
1590        bones: impl ::core::convert::Into<::unity::Array<crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone>>,
1591        start_position: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
1592        target_position: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
1593        weight: impl ::core::convert::Into<f32>,
1594        min_normalized_target_distance: impl ::core::convert::Into<f32>,
1595        iterations: impl ::core::convert::Into<i32>,
1596        length: impl ::core::convert::Into<f32>,
1597        start_offset: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
1598    ) -> () {
1599        unsafe {
1600            ::unity::il2cpp_call!((::unity::module_base()+0x1fc5260usize)as*mut u8,();
1601(::unity::Array<crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone>)::core::convert::Into::into(bones),(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(start_position),(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(target_position),(f32)::core::convert::Into::into(weight),(f32)::core::convert::Into::into(min_normalized_target_distance),(i32)::core::convert::Into::into(iterations),(f32)::core::convert::Into::into(length),(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(start_offset))
1602        }
1603    }
1604
1605    #[doc = "`SolveFABRIKJoint(crate::unity_engine::vector3::Vector3, crate::unity_engine::vector3::Vector3, f32)` overload"]
1606    pub fn solve_fabrik_joint(
1607        pos1: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
1608        pos2: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
1609        length: impl ::core::convert::Into<f32>,
1610    ) -> crate::unity_engine::vector3::Vector3 {
1611        unsafe {
1612            ::unity::il2cpp_call!((::unity::module_base()+0x1fc6a50usize)as*mut u8,crate::unity_engine::vector3::Vector3;
1613(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(pos1),(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(pos2),(f32)::core::convert::Into::into(length))
1614        }
1615    }
1616
1617    #[doc = "`SolveCCD(::unity::Array<crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone>, crate::unity_engine::vector3::Vector3, f32, i32)` overload"]
1618    pub fn solve_ccd(
1619        bones: impl ::core::convert::Into<::unity::Array<crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone>>,
1620        target_position: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
1621        weight: impl ::core::convert::Into<f32>,
1622        iterations: impl ::core::convert::Into<i32>,
1623    ) -> () {
1624        unsafe {
1625            ::unity::il2cpp_call!((::unity::module_base()+0x1fc6ac0usize)as*mut u8,();
1626(::unity::Array<crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone>)::core::convert::Into::into(bones),(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(target_position),(f32)::core::convert::Into::into(weight),(i32)::core::convert::Into::into(iterations))
1627        }
1628    }
1629}
1630
1631#[cfg(feature = "root_motion-final_ik-iksolvervr")]
1632pub trait IIKSolverVR_VirtualBoneMethods: IIKSolverVR_VirtualBone {
1633    #[doc = "`.ctor(crate::unity_engine::vector3::Vector3, crate::unity_engine::quaternion::Quaternion)` overload"]
1634    fn ctor(
1635        self,
1636        position: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
1637        rotation: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>,
1638    ) -> () {
1639        unsafe {
1640            let __receiver =
1641                <IKSolverVR_VirtualBone as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1642            ::unity::il2cpp_call!((::unity::module_base()+0x1fc34d0usize)as*mut u8,();
1643(IKSolverVR_VirtualBone)__receiver,(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(position),(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(rotation))
1644        }
1645    }
1646    #[doc = "`Read(crate::unity_engine::vector3::Vector3, crate::unity_engine::quaternion::Quaternion)` overload"]
1647    fn read(
1648        self,
1649        position: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
1650        rotation: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>,
1651    ) -> () {
1652        unsafe {
1653            let __receiver =
1654                <IKSolverVR_VirtualBone as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1655            ::unity::il2cpp_call!((::unity::module_base()+0x1fc3570usize)as*mut u8,();
1656(IKSolverVR_VirtualBone)__receiver,(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(position),(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(rotation))
1657        }
1658    }
1659}
1660
1661#[cfg(feature = "root_motion-final_ik-iksolvervr")]
1662impl<__T: IIKSolverVR_VirtualBone> IIKSolverVR_VirtualBoneMethods for __T {}
1663
1664#[cfg(feature = "root_motion-final_ik-iksolvervr")]
1665impl IKSolverVR_VirtualBone {
1666    pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1667        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
1668    }
1669
1670    pub fn read_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1671        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
1672    }
1673
1674    pub fn swing_rotation_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1675        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
1676    }
1677
1678    pub fn pre_solve_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1679        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[3]
1680    }
1681
1682    pub fn rotate_around_point_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1683        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[4]
1684    }
1685
1686    pub fn rotate_by_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1687        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[5]
1688    }
1689
1690    pub fn rotate_by_2_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1691        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[6]
1692    }
1693
1694    pub fn rotate_to_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1695        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[7]
1696    }
1697
1698    pub fn solve_trigonometric_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1699        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[8]
1700    }
1701
1702    pub fn get_direction_to_bend_point_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1703        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[9]
1704    }
1705
1706    pub fn solve_fabrik_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1707        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[10]
1708    }
1709
1710    pub fn solve_fabrik_joint_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1711        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[11]
1712    }
1713
1714    pub fn solve_ccd_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1715        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[12]
1716    }
1717}
1718
1719#[cfg(feature = "root_motion-final_ik-iksolvervr")]
1720impl IKSolverVR_VirtualBone {
1721    #[doc = "`.ctor(crate::unity_engine::vector3::Vector3, crate::unity_engine::quaternion::Quaternion)` — overload selector"]
1722    pub fn new(position: crate::unity_engine::vector3::Vector3, rotation: crate::unity_engine::quaternion::Quaternion) -> Self {
1723        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
1724            panic!(
1725                "{}
1726::{}
1727 failed to instantiate",
1728                ::core::stringify!(IKSolverVR_VirtualBone),
1729                ::core::stringify!(new),
1730            )
1731        });
1732        <Self as IIKSolverVR_VirtualBoneMethods>::ctor(this, position, rotation);
1733        this
1734    }
1735}
1736
1737#[cfg(feature = "root_motion-final_ik-iksolvervr")]
1738impl IKSolverVR_Locomotion {
1739    #[doc = "`GetLineSphereCollision(crate::unity_engine::vector3::Vector3, crate::unity_engine::vector3::Vector3, crate::unity_engine::vector3::Vector3, f32)` overload"]
1740    pub fn get_line_sphere_collision(
1741        line_start: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
1742        line_end: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
1743        sphere_center: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
1744        sphere_radius: impl ::core::convert::Into<f32>,
1745    ) -> bool {
1746        unsafe {
1747            ::unity::il2cpp_call!((::unity::module_base()+0x1fc25d0usize)as*mut u8,bool;
1748(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(line_start),(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(line_end),(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(sphere_center),(f32)::core::convert::Into::into(sphere_radius))
1749        }
1750    }
1751}
1752
1753#[cfg(feature = "root_motion-final_ik-iksolvervr")]
1754pub trait IIKSolverVR_LocomotionMethods: IIKSolverVR_Locomotion {
1755    #[doc = "`get_centerOfMass()` overload"]
1756    fn get_center_of_mass(self) -> crate::unity_engine::vector3::Vector3 {
1757        unsafe {
1758            let __receiver = <IKSolverVR_Locomotion as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1759            ::unity::il2cpp_call!((::unity::module_base()+0x1fc0ae0usize)as*mut u8,crate::unity_engine::vector3::Vector3;
1760(IKSolverVR_Locomotion)__receiver)
1761        }
1762    }
1763    #[doc = "`set_centerOfMass(crate::unity_engine::vector3::Vector3)` overload"]
1764    fn set_center_of_mass(self, value: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>) -> () {
1765        unsafe {
1766            let __receiver = <IKSolverVR_Locomotion as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1767            ::unity::il2cpp_call!((::unity::module_base()+0x1fc0af0usize)as*mut u8,();
1768(IKSolverVR_Locomotion)__receiver,(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(value))
1769        }
1770    }
1771    #[doc = "`Initiate(::unity::Array<crate::unity_engine::vector3::Vector3>, ::unity::Array<crate::unity_engine::quaternion::Quaternion>, bool, f32)` overload"]
1772    fn initiate(
1773        self,
1774        positions: impl ::core::convert::Into<::unity::Array<crate::unity_engine::vector3::Vector3>>,
1775        rotations: impl ::core::convert::Into<::unity::Array<crate::unity_engine::quaternion::Quaternion>>,
1776        has_toes: impl ::core::convert::Into<bool>,
1777        scale: impl ::core::convert::Into<f32>,
1778    ) -> () {
1779        unsafe {
1780            let __receiver = <IKSolverVR_Locomotion as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1781            ::unity::il2cpp_call!((::unity::module_base()+0x1fc0b00usize)as*mut u8,();
1782(IKSolverVR_Locomotion)__receiver,(::unity::Array<crate::unity_engine::vector3::Vector3>)::core::convert::Into::into(positions),(::unity::Array<crate::unity_engine::quaternion::Quaternion>)::core::convert::Into::into(rotations),(bool)::core::convert::Into::into(has_toes),(f32)::core::convert::Into::into(scale))
1783        }
1784    }
1785    #[doc = "`Reset(::unity::Array<crate::unity_engine::vector3::Vector3>, ::unity::Array<crate::unity_engine::quaternion::Quaternion>)` overload"]
1786    fn reset(
1787        self,
1788        positions: impl ::core::convert::Into<::unity::Array<crate::unity_engine::vector3::Vector3>>,
1789        rotations: impl ::core::convert::Into<::unity::Array<crate::unity_engine::quaternion::Quaternion>>,
1790    ) -> () {
1791        unsafe {
1792            let __receiver = <IKSolverVR_Locomotion as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1793            ::unity::il2cpp_call!((::unity::module_base()+0x1fc0de0usize)as*mut u8,();
1794(IKSolverVR_Locomotion)__receiver,(::unity::Array<crate::unity_engine::vector3::Vector3>)::core::convert::Into::into(positions),(::unity::Array<crate::unity_engine::quaternion::Quaternion>)::core::convert::Into::into(rotations))
1795        }
1796    }
1797    #[doc = "`Relax()` overload"]
1798    fn relax(self) -> () {
1799        unsafe {
1800            let __receiver = <IKSolverVR_Locomotion as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1801            ::unity::il2cpp_call!((::unity::module_base()+0x1fc0fb0usize)as*mut u8,();
1802(IKSolverVR_Locomotion)__receiver)
1803        }
1804    }
1805    #[doc = "`AddDeltaRotation(crate::unity_engine::quaternion::Quaternion, crate::unity_engine::vector3::Vector3)` overload"]
1806    fn add_delta_rotation(
1807        self,
1808        delta: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>,
1809        pivot: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
1810    ) -> () {
1811        unsafe {
1812            let __receiver = <IKSolverVR_Locomotion as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1813            ::unity::il2cpp_call!((::unity::module_base()+0x1fc1000usize)as*mut u8,();
1814(IKSolverVR_Locomotion)__receiver,(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(delta),(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(pivot))
1815        }
1816    }
1817    #[doc = "`AddDeltaPosition(crate::unity_engine::vector3::Vector3)` overload"]
1818    fn add_delta_position(self, delta: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>) -> () {
1819        unsafe {
1820            let __receiver = <IKSolverVR_Locomotion as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1821            ::unity::il2cpp_call!((::unity::module_base()+0x1fc1240usize)as*mut u8,();
1822(IKSolverVR_Locomotion)__receiver,(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(delta))
1823        }
1824    }
1825    #[doc = "`Solve(crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone, crate::root_motion::final_ik::iksolvervr::IKSolverVR_Spine, crate::root_motion::final_ik::iksolvervr::IKSolverVR_Leg, crate::root_motion::final_ik::iksolvervr::IKSolverVR_Leg, crate::root_motion::final_ik::iksolvervr::IKSolverVR_Arm, crate::root_motion::final_ik::iksolvervr::IKSolverVR_Arm, i32, *mutcrate::unity_engine::vector3::Vector3, *mutcrate::unity_engine::vector3::Vector3, *mutcrate::unity_engine::quaternion::Quaternion, *mutcrate::unity_engine::quaternion::Quaternion, *mutf32, *mutf32, *mutf32, *mutf32, f32)` overload"]
1826    fn solve(
1827        self,
1828        root_bone: impl ::core::convert::Into<crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone>,
1829        spine: impl ::core::convert::Into<crate::root_motion::final_ik::iksolvervr::IKSolverVR_Spine>,
1830        left_leg: impl ::core::convert::Into<crate::root_motion::final_ik::iksolvervr::IKSolverVR_Leg>,
1831        right_leg: impl ::core::convert::Into<crate::root_motion::final_ik::iksolvervr::IKSolverVR_Leg>,
1832        left_arm: impl ::core::convert::Into<crate::root_motion::final_ik::iksolvervr::IKSolverVR_Arm>,
1833        right_arm: impl ::core::convert::Into<crate::root_motion::final_ik::iksolvervr::IKSolverVR_Arm>,
1834        support_leg_index: impl ::core::convert::Into<i32>,
1835        scale: impl ::core::convert::Into<f32>,
1836    ) -> (
1837        crate::unity_engine::vector3::Vector3,
1838        crate::unity_engine::vector3::Vector3,
1839        crate::unity_engine::quaternion::Quaternion,
1840        crate::unity_engine::quaternion::Quaternion,
1841        f32,
1842        f32,
1843        f32,
1844        f32,
1845    ) {
1846        unsafe {
1847            let __receiver = <IKSolverVR_Locomotion as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1848            let mut __out_0 = ::core::mem::MaybeUninit::<crate::unity_engine::vector3::Vector3>::uninit();
1849            let mut __out_1 = ::core::mem::MaybeUninit::<crate::unity_engine::vector3::Vector3>::uninit();
1850            let mut __out_2 = ::core::mem::MaybeUninit::<crate::unity_engine::quaternion::Quaternion>::uninit();
1851            let mut __out_3 = ::core::mem::MaybeUninit::<crate::unity_engine::quaternion::Quaternion>::uninit();
1852            let mut __out_4 = ::core::mem::MaybeUninit::<f32>::uninit();
1853            let mut __out_5 = ::core::mem::MaybeUninit::<f32>::uninit();
1854            let mut __out_6 = ::core::mem::MaybeUninit::<f32>::uninit();
1855            let mut __out_7 = ::core::mem::MaybeUninit::<f32>::uninit();
1856            ::unity::il2cpp_call!((::unity::module_base()+0x1fc1310usize)as*mut u8,();
1857(IKSolverVR_Locomotion)__receiver,(crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone)::core::convert::Into::into(root_bone),(crate::root_motion::final_ik::iksolvervr::IKSolverVR_Spine)::core::convert::Into::into(spine),(crate::root_motion::final_ik::iksolvervr::IKSolverVR_Leg)::core::convert::Into::into(left_leg),(crate::root_motion::final_ik::iksolvervr::IKSolverVR_Leg)::core::convert::Into::into(right_leg),(crate::root_motion::final_ik::iksolvervr::IKSolverVR_Arm)::core::convert::Into::into(left_arm),(crate::root_motion::final_ik::iksolvervr::IKSolverVR_Arm)::core::convert::Into::into(right_arm),(i32)::core::convert::Into::into(support_leg_index),(*mut crate::unity_engine::vector3::Vector3)__out_0.as_mut_ptr(),(*mut crate::unity_engine::vector3::Vector3)__out_1.as_mut_ptr(),(*mut crate::unity_engine::quaternion::Quaternion)__out_2.as_mut_ptr(),(*mut crate::unity_engine::quaternion::Quaternion)__out_3.as_mut_ptr(),(*mut f32)__out_4.as_mut_ptr(),(*mut f32)__out_5.as_mut_ptr(),(*mut f32)__out_6.as_mut_ptr(),(*mut f32)__out_7.as_mut_ptr(),(f32)::core::convert::Into::into(scale));
1858            (
1859                __out_0.assume_init(),
1860                __out_1.assume_init(),
1861                __out_2.assume_init(),
1862                __out_3.assume_init(),
1863                __out_4.assume_init(),
1864                __out_5.assume_init(),
1865                __out_6.assume_init(),
1866                __out_7.assume_init(),
1867            )
1868        }
1869    }
1870    #[doc = "`get_leftFootstepPosition()` overload"]
1871    fn get_left_footstep_position(self) -> crate::unity_engine::vector3::Vector3 {
1872        unsafe {
1873            let __receiver = <IKSolverVR_Locomotion as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1874            ::unity::il2cpp_call!((::unity::module_base()+0x1fc26b0usize)as*mut u8,crate::unity_engine::vector3::Vector3;
1875(IKSolverVR_Locomotion)__receiver)
1876        }
1877    }
1878    #[doc = "`get_rightFootstepPosition()` overload"]
1879    fn get_right_footstep_position(self) -> crate::unity_engine::vector3::Vector3 {
1880        unsafe {
1881            let __receiver = <IKSolverVR_Locomotion as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1882            ::unity::il2cpp_call!((::unity::module_base()+0x1fc26f0usize)as*mut u8,crate::unity_engine::vector3::Vector3;
1883(IKSolverVR_Locomotion)__receiver)
1884        }
1885    }
1886    #[doc = "`get_leftFootstepRotation()` overload"]
1887    fn get_left_footstep_rotation(self) -> crate::unity_engine::quaternion::Quaternion {
1888        unsafe {
1889            let __receiver = <IKSolverVR_Locomotion as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1890            ::unity::il2cpp_call!((::unity::module_base()+0x1fc2730usize)as*mut u8,crate::unity_engine::quaternion::Quaternion;
1891(IKSolverVR_Locomotion)__receiver)
1892        }
1893    }
1894    #[doc = "`get_rightFootstepRotation()` overload"]
1895    fn get_right_footstep_rotation(self) -> crate::unity_engine::quaternion::Quaternion {
1896        unsafe {
1897            let __receiver = <IKSolverVR_Locomotion as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1898            ::unity::il2cpp_call!((::unity::module_base()+0x1fc2770usize)as*mut u8,crate::unity_engine::quaternion::Quaternion;
1899(IKSolverVR_Locomotion)__receiver)
1900        }
1901    }
1902    #[doc = "`StepBlocked(crate::unity_engine::vector3::Vector3, crate::unity_engine::vector3::Vector3, crate::unity_engine::vector3::Vector3)` overload"]
1903    fn step_blocked(
1904        self,
1905        from_position: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
1906        to_position: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
1907        root_position: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
1908    ) -> bool {
1909        unsafe {
1910            let __receiver = <IKSolverVR_Locomotion as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1911            ::unity::il2cpp_call!((::unity::module_base()+0x1fc23f0usize)as*mut u8,bool;
1912(IKSolverVR_Locomotion)__receiver,(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(from_position),(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(to_position),(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(root_position))
1913        }
1914    }
1915    #[doc = "`CanStep()` overload"]
1916    fn can_step(self) -> bool {
1917        unsafe {
1918            let __receiver = <IKSolverVR_Locomotion as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1919            ::unity::il2cpp_call!((::unity::module_base()+0x1fc2520usize)as*mut u8,bool;
1920(IKSolverVR_Locomotion)__receiver)
1921        }
1922    }
1923    #[doc = "`.ctor()` overload"]
1924    fn ctor(self) -> () {
1925        unsafe {
1926            let __receiver = <IKSolverVR_Locomotion as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
1927            ::unity::il2cpp_call!((::unity::module_base()+0x1fc27b0usize)as*mut u8,();
1928(IKSolverVR_Locomotion)__receiver)
1929        }
1930    }
1931}
1932
1933#[cfg(feature = "root_motion-final_ik-iksolvervr")]
1934impl<__T: IIKSolverVR_Locomotion> IIKSolverVR_LocomotionMethods for __T {}
1935
1936#[cfg(feature = "root_motion-final_ik-iksolvervr")]
1937impl IKSolverVR_Locomotion {
1938    pub fn get_center_of_mass_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1939        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
1940    }
1941
1942    pub fn set_center_of_mass_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1943        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
1944    }
1945
1946    pub fn initiate_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1947        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
1948    }
1949
1950    pub fn reset_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1951        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[3]
1952    }
1953
1954    pub fn relax_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1955        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[4]
1956    }
1957
1958    pub fn add_delta_rotation_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1959        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[5]
1960    }
1961
1962    pub fn add_delta_position_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1963        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[6]
1964    }
1965
1966    pub fn solve_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1967        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[7]
1968    }
1969
1970    pub fn get_left_footstep_position_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1971        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[8]
1972    }
1973
1974    pub fn get_right_footstep_position_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1975        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[9]
1976    }
1977
1978    pub fn get_left_footstep_rotation_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1979        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[10]
1980    }
1981
1982    pub fn get_right_footstep_rotation_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1983        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[11]
1984    }
1985
1986    pub fn step_blocked_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1987        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[12]
1988    }
1989
1990    pub fn can_step_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1991        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[13]
1992    }
1993
1994    pub fn get_line_sphere_collision_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1995        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[14]
1996    }
1997
1998    pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
1999        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[15]
2000    }
2001}
2002
2003#[cfg(feature = "root_motion-final_ik-iksolvervr")]
2004impl IKSolverVR_Locomotion {
2005    #[doc = "`.ctor()` — no args"]
2006    pub fn new() -> Self {
2007        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
2008            panic!(
2009                "{}
2010::{}
2011 failed to instantiate",
2012                ::core::stringify!(IKSolverVR_Locomotion),
2013                ::core::stringify!(new),
2014            )
2015        });
2016        <Self as IIKSolverVR_LocomotionMethods>::ctor(this);
2017        this
2018    }
2019}
2020
2021#[cfg(feature = "root_motion-final_ik-iksolvervr")]
2022pub trait IIKSolverVR_SpineMethods: IIKSolverVR_Spine {
2023    #[doc = "`get_pelvis()` overload"]
2024    fn get_pelvis(self) -> crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone {
2025        unsafe {
2026            let __receiver = <IKSolverVR_Spine as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
2027            ::unity::il2cpp_call!((::unity::module_base()+0x1fc2370usize)as*mut u8,crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone;
2028(IKSolverVR_Spine)__receiver)
2029        }
2030    }
2031    #[doc = "`get_firstSpineBone()` overload"]
2032    fn get_first_spine_bone(self) -> crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone {
2033        unsafe {
2034            let __receiver = <IKSolverVR_Spine as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
2035            ::unity::il2cpp_call!((::unity::module_base()+0x1fc2900usize)as*mut u8,crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone;
2036(IKSolverVR_Spine)__receiver)
2037        }
2038    }
2039    #[doc = "`get_chest()` overload"]
2040    fn get_chest(self) -> crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone {
2041        unsafe {
2042            let __receiver = <IKSolverVR_Spine as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
2043            ::unity::il2cpp_call!((::unity::module_base()+0x1fc2940usize)as*mut u8,crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone;
2044(IKSolverVR_Spine)__receiver)
2045        }
2046    }
2047    #[doc = "`get_neck()` overload"]
2048    fn get_neck(self) -> crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone {
2049        unsafe {
2050            let __receiver = <IKSolverVR_Spine as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
2051            ::unity::il2cpp_call!((::unity::module_base()+0x1fc2990usize)as*mut u8,crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone;
2052(IKSolverVR_Spine)__receiver)
2053        }
2054    }
2055    #[doc = "`get_head()` overload"]
2056    fn get_head(self) -> crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone {
2057        unsafe {
2058            let __receiver = <IKSolverVR_Spine as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
2059            ::unity::il2cpp_call!((::unity::module_base()+0x1fc23b0usize)as*mut u8,crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone;
2060(IKSolverVR_Spine)__receiver)
2061        }
2062    }
2063    #[doc = "`get_anchorRotation()` overload"]
2064    fn get_anchor_rotation(self) -> crate::unity_engine::quaternion::Quaternion {
2065        unsafe {
2066            let __receiver = <IKSolverVR_Spine as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
2067            ::unity::il2cpp_call!((::unity::module_base()+0x1fc29d0usize)as*mut u8,crate::unity_engine::quaternion::Quaternion;
2068(IKSolverVR_Spine)__receiver)
2069        }
2070    }
2071    #[doc = "`set_anchorRotation(crate::unity_engine::quaternion::Quaternion)` overload"]
2072    fn set_anchor_rotation(self, value: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>) -> () {
2073        unsafe {
2074            let __receiver = <IKSolverVR_Spine as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
2075            ::unity::il2cpp_call!((::unity::module_base()+0x1fc29f0usize)as*mut u8,();
2076(IKSolverVR_Spine)__receiver,(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(value))
2077        }
2078    }
2079    #[doc = "`get_anchorRelativeToHead()` overload"]
2080    fn get_anchor_relative_to_head(self) -> crate::unity_engine::quaternion::Quaternion {
2081        unsafe {
2082            let __receiver = <IKSolverVR_Spine as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
2083            ::unity::il2cpp_call!((::unity::module_base()+0x1fc2a10usize)as*mut u8,crate::unity_engine::quaternion::Quaternion;
2084(IKSolverVR_Spine)__receiver)
2085        }
2086    }
2087    #[doc = "`set_anchorRelativeToHead(crate::unity_engine::quaternion::Quaternion)` overload"]
2088    fn set_anchor_relative_to_head(self, value: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>) -> () {
2089        unsafe {
2090            let __receiver = <IKSolverVR_Spine as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
2091            ::unity::il2cpp_call!((::unity::module_base()+0x1fc2a30usize)as*mut u8,();
2092(IKSolverVR_Spine)__receiver,(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(value))
2093        }
2094    }
2095    #[doc = "`OnRead(::unity::Array<crate::unity_engine::vector3::Vector3>, ::unity::Array<crate::unity_engine::quaternion::Quaternion>, bool, bool, bool, bool, bool, i32, i32)` overload"]
2096    fn on_read(
2097        self,
2098        positions: impl ::core::convert::Into<::unity::Array<crate::unity_engine::vector3::Vector3>>,
2099        rotations: impl ::core::convert::Into<::unity::Array<crate::unity_engine::quaternion::Quaternion>>,
2100        has_chest: impl ::core::convert::Into<bool>,
2101        has_neck: impl ::core::convert::Into<bool>,
2102        has_shoulders: impl ::core::convert::Into<bool>,
2103        has_toes: impl ::core::convert::Into<bool>,
2104        has_legs: impl ::core::convert::Into<bool>,
2105        root_index: impl ::core::convert::Into<i32>,
2106        index: impl ::core::convert::Into<i32>,
2107    ) -> () {
2108        unsafe {
2109            let __receiver = <IKSolverVR_Spine as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
2110            {
2111                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
2112                let __vi = *__vt.get(4usize).unwrap_or_else(|| {
2113                    panic!(
2114                        "unity: virtual slot {}
2115 out of range (vtable len {}
2116) on the runtime class behind {}
2117 (method `{}
2118`)",
2119                        4usize,
2120                        __vt.len(),
2121                        <IKSolverVR_Spine as ::unity::ClassIdentity>::NAME,
2122                        "OnRead",
2123                    )
2124                });
2125                let __inner: extern "C" fn(
2126                    IKSolverVR_Spine,
2127                    ::unity::Array<crate::unity_engine::vector3::Vector3>,
2128                    ::unity::Array<crate::unity_engine::quaternion::Quaternion>,
2129                    bool,
2130                    bool,
2131                    bool,
2132                    bool,
2133                    bool,
2134                    i32,
2135                    i32,
2136                    ::unity::OptionalMethod,
2137                ) -> () = ::core::mem::transmute(__vi.method_ptr);
2138                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
2139                __inner(
2140                    __receiver,
2141                    ::core::convert::Into::into(positions),
2142                    ::core::convert::Into::into(rotations),
2143                    ::core::convert::Into::into(has_chest),
2144                    ::core::convert::Into::into(has_neck),
2145                    ::core::convert::Into::into(has_shoulders),
2146                    ::core::convert::Into::into(has_toes),
2147                    ::core::convert::Into::into(has_legs),
2148                    ::core::convert::Into::into(root_index),
2149                    ::core::convert::Into::into(index),
2150                    __mi,
2151                )
2152            }
2153        }
2154    }
2155    #[doc = "`PreSolve()` overload"]
2156    fn pre_solve(self) -> () {
2157        unsafe {
2158            let __receiver = <IKSolverVR_Spine as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
2159            {
2160                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
2161                let __vi = *__vt.get(5usize).unwrap_or_else(|| {
2162                    panic!(
2163                        "unity: virtual slot {}
2164 out of range (vtable len {}
2165) on the runtime class behind {}
2166 (method `{}
2167`)",
2168                        5usize,
2169                        __vt.len(),
2170                        <IKSolverVR_Spine as ::unity::ClassIdentity>::NAME,
2171                        "PreSolve",
2172                    )
2173                });
2174                let __inner: extern "C" fn(IKSolverVR_Spine, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
2175                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
2176                __inner(__receiver, __mi)
2177            }
2178        }
2179    }
2180    #[doc = "`ApplyOffsets(f32)` overload"]
2181    fn apply_offsets(self, scale: impl ::core::convert::Into<f32>) -> () {
2182        unsafe {
2183            let __receiver = <IKSolverVR_Spine as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
2184            {
2185                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
2186                let __vi = *__vt.get(7usize).unwrap_or_else(|| {
2187                    panic!(
2188                        "unity: virtual slot {}
2189 out of range (vtable len {}
2190) on the runtime class behind {}
2191 (method `{}
2192`)",
2193                        7usize,
2194                        __vt.len(),
2195                        <IKSolverVR_Spine as ::unity::ClassIdentity>::NAME,
2196                        "ApplyOffsets",
2197                    )
2198                });
2199                let __inner: extern "C" fn(IKSolverVR_Spine, f32, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
2200                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
2201                __inner(__receiver, ::core::convert::Into::into(scale), __mi)
2202            }
2203        }
2204    }
2205    #[doc = "`CalculateChestTargetRotation(crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone, ::unity::Array<crate::root_motion::final_ik::iksolvervr::IKSolverVR_Arm>)` overload"]
2206    fn calculate_chest_target_rotation(
2207        self,
2208        root_bone: impl ::core::convert::Into<crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone>,
2209        arms: impl ::core::convert::Into<::unity::Array<crate::root_motion::final_ik::iksolvervr::IKSolverVR_Arm>>,
2210    ) -> () {
2211        unsafe {
2212            let __receiver = <IKSolverVR_Spine as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
2213            ::unity::il2cpp_call!((::unity::module_base()+0x1fc3c60usize)as*mut u8,();
2214(IKSolverVR_Spine)__receiver,(crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone)::core::convert::Into::into(root_bone),(::unity::Array<crate::root_motion::final_ik::iksolvervr::IKSolverVR_Arm>)::core::convert::Into::into(arms))
2215        }
2216    }
2217    #[doc = "`Solve(crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone, ::unity::Array<crate::root_motion::final_ik::iksolvervr::IKSolverVR_Leg>, ::unity::Array<crate::root_motion::final_ik::iksolvervr::IKSolverVR_Arm>, f32)` overload"]
2218    fn solve(
2219        self,
2220        root_bone: impl ::core::convert::Into<crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone>,
2221        legs: impl ::core::convert::Into<::unity::Array<crate::root_motion::final_ik::iksolvervr::IKSolverVR_Leg>>,
2222        arms: impl ::core::convert::Into<::unity::Array<crate::root_motion::final_ik::iksolvervr::IKSolverVR_Arm>>,
2223        scale: impl ::core::convert::Into<f32>,
2224    ) -> () {
2225        unsafe {
2226            let __receiver = <IKSolverVR_Spine as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
2227            ::unity::il2cpp_call!((::unity::module_base()+0x1fc4090usize)as*mut u8,();
2228(IKSolverVR_Spine)__receiver,(crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone)::core::convert::Into::into(root_bone),(::unity::Array<crate::root_motion::final_ik::iksolvervr::IKSolverVR_Leg>)::core::convert::Into::into(legs),(::unity::Array<crate::root_motion::final_ik::iksolvervr::IKSolverVR_Arm>)::core::convert::Into::into(arms),(f32)::core::convert::Into::into(scale))
2229        }
2230    }
2231    #[doc = "`FABRIKPass(crate::unity_engine::vector3::Vector3, crate::unity_engine::vector3::Vector3, f32)` overload"]
2232    fn fabrik_pass(
2233        self,
2234        animated_pelvis_pos: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
2235        root_up: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
2236        weight: impl ::core::convert::Into<f32>,
2237    ) -> () {
2238        unsafe {
2239            let __receiver = <IKSolverVR_Spine as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
2240            ::unity::il2cpp_call!((::unity::module_base()+0x1fc4840usize)as*mut u8,();
2241(IKSolverVR_Spine)__receiver,(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(animated_pelvis_pos),(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(root_up),(f32)::core::convert::Into::into(weight))
2242        }
2243    }
2244    #[doc = "`SolvePelvis()` overload"]
2245    fn solve_pelvis(self) -> () {
2246        unsafe {
2247            let __receiver = <IKSolverVR_Spine as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
2248            ::unity::il2cpp_call!((::unity::module_base()+0x1fc5030usize)as*mut u8,();
2249(IKSolverVR_Spine)__receiver)
2250        }
2251    }
2252    #[doc = "`Write(*mut::unity::Array<crate::unity_engine::vector3::Vector3>, *mut::unity::Array<crate::unity_engine::quaternion::Quaternion>)` overload"]
2253    fn write(
2254        self,
2255    ) -> (
2256        ::unity::Array<crate::unity_engine::vector3::Vector3>,
2257        ::unity::Array<crate::unity_engine::quaternion::Quaternion>,
2258    ) {
2259        unsafe {
2260            let __receiver = <IKSolverVR_Spine as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
2261            let mut __out_0 = ::core::mem::MaybeUninit::<::unity::Array<crate::unity_engine::vector3::Vector3>>::uninit();
2262            let mut __out_1 = ::core::mem::MaybeUninit::<::unity::Array<crate::unity_engine::quaternion::Quaternion>>::uninit();
2263            {
2264                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
2265                let __vi = *__vt.get(6usize).unwrap_or_else(|| {
2266                    panic!(
2267                        "unity: virtual slot {}
2268 out of range (vtable len {}
2269) on the runtime class behind {}
2270 (method `{}
2271`)",
2272                        6usize,
2273                        __vt.len(),
2274                        <IKSolverVR_Spine as ::unity::ClassIdentity>::NAME,
2275                        "Write",
2276                    )
2277                });
2278                let __inner: extern "C" fn(
2279                    IKSolverVR_Spine,
2280                    *mut ::unity::Array<crate::unity_engine::vector3::Vector3>,
2281                    *mut ::unity::Array<crate::unity_engine::quaternion::Quaternion>,
2282                    ::unity::OptionalMethod,
2283                ) -> () = ::core::mem::transmute(__vi.method_ptr);
2284                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
2285                __inner(__receiver, __out_0.as_mut_ptr(), __out_1.as_mut_ptr(), __mi)
2286            };
2287            (__out_0.assume_init(), __out_1.assume_init())
2288        }
2289    }
2290    #[doc = "`ResetOffsets()` overload"]
2291    fn reset_offsets(self) -> () {
2292        unsafe {
2293            let __receiver = <IKSolverVR_Spine as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
2294            {
2295                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
2296                let __vi = *__vt.get(8usize).unwrap_or_else(|| {
2297                    panic!(
2298                        "unity: virtual slot {}
2299 out of range (vtable len {}
2300) on the runtime class behind {}
2301 (method `{}
2302`)",
2303                        8usize,
2304                        __vt.len(),
2305                        <IKSolverVR_Spine as ::unity::ClassIdentity>::NAME,
2306                        "ResetOffsets",
2307                    )
2308                });
2309                let __inner: extern "C" fn(IKSolverVR_Spine, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
2310                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
2311                __inner(__receiver, __mi)
2312            }
2313        }
2314    }
2315    #[doc = "`AdjustChestByHands(*mutcrate::unity_engine::quaternion::Quaternion, ::unity::Array<crate::root_motion::final_ik::iksolvervr::IKSolverVR_Arm>)` overload"]
2316    fn adjust_chest_by_hands(
2317        self,
2318        arms: impl ::core::convert::Into<::unity::Array<crate::root_motion::final_ik::iksolvervr::IKSolverVR_Arm>>,
2319    ) -> crate::unity_engine::quaternion::Quaternion {
2320        unsafe {
2321            let __receiver = <IKSolverVR_Spine as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
2322            let mut __out_0 = ::core::mem::MaybeUninit::<crate::unity_engine::quaternion::Quaternion>::uninit();
2323            ::unity::il2cpp_call!((::unity::module_base()+0x1fc3df0usize)as*mut u8,();
2324(IKSolverVR_Spine)__receiver,(*mut crate::unity_engine::quaternion::Quaternion)__out_0.as_mut_ptr(),(::unity::Array<crate::root_motion::final_ik::iksolvervr::IKSolverVR_Arm>)::core::convert::Into::into(arms));
2325            __out_0.assume_init()
2326        }
2327    }
2328    #[doc = "`InverseTranslateToHead(::unity::Array<crate::root_motion::final_ik::iksolvervr::IKSolverVR_Leg>, bool, bool, crate::unity_engine::vector3::Vector3, f32)` overload"]
2329    fn inverse_translate_to_head(
2330        self,
2331        legs: impl ::core::convert::Into<::unity::Array<crate::root_motion::final_ik::iksolvervr::IKSolverVR_Leg>>,
2332        limited: impl ::core::convert::Into<bool>,
2333        use_current_leg_mag: impl ::core::convert::Into<bool>,
2334        offset: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
2335        w: impl ::core::convert::Into<f32>,
2336    ) -> () {
2337        unsafe {
2338            let __receiver = <IKSolverVR_Spine as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
2339            ::unity::il2cpp_call!((::unity::module_base()+0x1fc4d00usize)as*mut u8,();
2340(IKSolverVR_Spine)__receiver,(::unity::Array<crate::root_motion::final_ik::iksolvervr::IKSolverVR_Leg>)::core::convert::Into::into(legs),(bool)::core::convert::Into::into(limited),(bool)::core::convert::Into::into(use_current_leg_mag),(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(offset),(f32)::core::convert::Into::into(w))
2341        }
2342    }
2343    #[doc = "`TranslatePelvis(::unity::Array<crate::root_motion::final_ik::iksolvervr::IKSolverVR_Leg>, crate::unity_engine::vector3::Vector3, crate::unity_engine::quaternion::Quaternion, f32)` overload"]
2344    fn translate_pelvis(
2345        self,
2346        legs: impl ::core::convert::Into<::unity::Array<crate::root_motion::final_ik::iksolvervr::IKSolverVR_Leg>>,
2347        delta_position: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
2348        delta_rotation: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>,
2349        scale: impl ::core::convert::Into<f32>,
2350    ) -> () {
2351        unsafe {
2352            let __receiver = <IKSolverVR_Spine as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
2353            ::unity::il2cpp_call!((::unity::module_base()+0x1fc44a0usize)as*mut u8,();
2354(IKSolverVR_Spine)__receiver,(::unity::Array<crate::root_motion::final_ik::iksolvervr::IKSolverVR_Leg>)::core::convert::Into::into(legs),(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(delta_position),(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(delta_rotation),(f32)::core::convert::Into::into(scale))
2355        }
2356    }
2357    #[doc = "`LimitPelvisPosition(::unity::Array<crate::root_motion::final_ik::iksolvervr::IKSolverVR_Leg>, crate::unity_engine::vector3::Vector3, bool, i32)` overload"]
2358    fn limit_pelvis_position(
2359        self,
2360        legs: impl ::core::convert::Into<::unity::Array<crate::root_motion::final_ik::iksolvervr::IKSolverVR_Leg>>,
2361        pelvis_position: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
2362        use_current_leg_mag: impl ::core::convert::Into<bool>,
2363        it: impl ::core::convert::Into<i32>,
2364    ) -> crate::unity_engine::vector3::Vector3 {
2365        unsafe {
2366            let __receiver = <IKSolverVR_Spine as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
2367            ::unity::il2cpp_call!((::unity::module_base()+0x1fc5ca0usize)as*mut u8,crate::unity_engine::vector3::Vector3;
2368(IKSolverVR_Spine)__receiver,(::unity::Array<crate::root_motion::final_ik::iksolvervr::IKSolverVR_Leg>)::core::convert::Into::into(legs),(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(pelvis_position),(bool)::core::convert::Into::into(use_current_leg_mag),(i32)::core::convert::Into::into(it))
2369        }
2370    }
2371    #[doc = "`Bend(::unity::Array<crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone>, i32, i32, crate::unity_engine::quaternion::Quaternion, f32, bool, f32)` overload"]
2372    fn bend(
2373        self,
2374        bones: impl ::core::convert::Into<::unity::Array<crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone>>,
2375        first_index: impl ::core::convert::Into<i32>,
2376        last_index: impl ::core::convert::Into<i32>,
2377        target_rotation: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>,
2378        clamp_weight: impl ::core::convert::Into<f32>,
2379        uniform_weight: impl ::core::convert::Into<bool>,
2380        w: impl ::core::convert::Into<f32>,
2381    ) -> () {
2382        unsafe {
2383            let __receiver = <IKSolverVR_Spine as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
2384            ::unity::il2cpp_call!((::unity::module_base()+0x1fc4dc0usize)as*mut u8,();
2385(IKSolverVR_Spine)__receiver,(::unity::Array<crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone>)::core::convert::Into::into(bones),(i32)::core::convert::Into::into(first_index),(i32)::core::convert::Into::into(last_index),(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(target_rotation),(f32)::core::convert::Into::into(clamp_weight),(bool)::core::convert::Into::into(uniform_weight),(f32)::core::convert::Into::into(w))
2386        }
2387    }
2388    #[doc = "`Bend(::unity::Array<crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone>, i32, i32, crate::unity_engine::quaternion::Quaternion, crate::unity_engine::quaternion::Quaternion, f32, bool, f32)` overload"]
2389    fn bend_2(
2390        self,
2391        bones: impl ::core::convert::Into<::unity::Array<crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone>>,
2392        first_index: impl ::core::convert::Into<i32>,
2393        last_index: impl ::core::convert::Into<i32>,
2394        target_rotation: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>,
2395        rotation_offset: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>,
2396        clamp_weight: impl ::core::convert::Into<f32>,
2397        uniform_weight: impl ::core::convert::Into<bool>,
2398        w: impl ::core::convert::Into<f32>,
2399    ) -> () {
2400        unsafe {
2401            let __receiver = <IKSolverVR_Spine as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
2402            ::unity::il2cpp_call!((::unity::module_base()+0x1fc49e0usize)as*mut u8,();
2403(IKSolverVR_Spine)__receiver,(::unity::Array<crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone>)::core::convert::Into::into(bones),(i32)::core::convert::Into::into(first_index),(i32)::core::convert::Into::into(last_index),(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(target_rotation),(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(rotation_offset),(f32)::core::convert::Into::into(clamp_weight),(bool)::core::convert::Into::into(uniform_weight),(f32)::core::convert::Into::into(w))
2404        }
2405    }
2406    #[doc = "`.ctor()` overload"]
2407    fn ctor(self) -> () {
2408        unsafe {
2409            let __receiver = <IKSolverVR_Spine as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
2410            ::unity::il2cpp_call!((::unity::module_base()+0x1fc6090usize)as*mut u8,();
2411(IKSolverVR_Spine)__receiver)
2412        }
2413    }
2414}
2415
2416#[cfg(feature = "root_motion-final_ik-iksolvervr")]
2417impl<__T: IIKSolverVR_Spine> IIKSolverVR_SpineMethods for __T {}
2418
2419#[cfg(feature = "root_motion-final_ik-iksolvervr")]
2420impl IKSolverVR_Spine {
2421    pub fn get_pelvis_method_info() -> &'static ::unity::il2cpp::MethodInfo {
2422        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
2423    }
2424
2425    pub fn get_first_spine_bone_method_info() -> &'static ::unity::il2cpp::MethodInfo {
2426        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
2427    }
2428
2429    pub fn get_chest_method_info() -> &'static ::unity::il2cpp::MethodInfo {
2430        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
2431    }
2432
2433    pub fn get_neck_method_info() -> &'static ::unity::il2cpp::MethodInfo {
2434        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[3]
2435    }
2436
2437    pub fn get_head_method_info() -> &'static ::unity::il2cpp::MethodInfo {
2438        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[4]
2439    }
2440
2441    pub fn get_anchor_rotation_method_info() -> &'static ::unity::il2cpp::MethodInfo {
2442        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[5]
2443    }
2444
2445    pub fn set_anchor_rotation_method_info() -> &'static ::unity::il2cpp::MethodInfo {
2446        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[6]
2447    }
2448
2449    pub fn get_anchor_relative_to_head_method_info() -> &'static ::unity::il2cpp::MethodInfo {
2450        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[7]
2451    }
2452
2453    pub fn set_anchor_relative_to_head_method_info() -> &'static ::unity::il2cpp::MethodInfo {
2454        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[8]
2455    }
2456
2457    pub fn on_read_method_info() -> &'static ::unity::il2cpp::MethodInfo {
2458        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[9]
2459    }
2460
2461    pub fn pre_solve_method_info() -> &'static ::unity::il2cpp::MethodInfo {
2462        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[10]
2463    }
2464
2465    pub fn apply_offsets_method_info() -> &'static ::unity::il2cpp::MethodInfo {
2466        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[11]
2467    }
2468
2469    pub fn calculate_chest_target_rotation_method_info() -> &'static ::unity::il2cpp::MethodInfo {
2470        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[12]
2471    }
2472
2473    pub fn solve_method_info() -> &'static ::unity::il2cpp::MethodInfo {
2474        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[13]
2475    }
2476
2477    pub fn fabrik_pass_method_info() -> &'static ::unity::il2cpp::MethodInfo {
2478        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[14]
2479    }
2480
2481    pub fn solve_pelvis_method_info() -> &'static ::unity::il2cpp::MethodInfo {
2482        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[15]
2483    }
2484
2485    pub fn write_method_info() -> &'static ::unity::il2cpp::MethodInfo {
2486        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[16]
2487    }
2488
2489    pub fn reset_offsets_method_info() -> &'static ::unity::il2cpp::MethodInfo {
2490        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[17]
2491    }
2492
2493    pub fn adjust_chest_by_hands_method_info() -> &'static ::unity::il2cpp::MethodInfo {
2494        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[18]
2495    }
2496
2497    pub fn inverse_translate_to_head_method_info() -> &'static ::unity::il2cpp::MethodInfo {
2498        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[19]
2499    }
2500
2501    pub fn translate_pelvis_method_info() -> &'static ::unity::il2cpp::MethodInfo {
2502        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[20]
2503    }
2504
2505    pub fn limit_pelvis_position_method_info() -> &'static ::unity::il2cpp::MethodInfo {
2506        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[21]
2507    }
2508
2509    pub fn bend_method_info() -> &'static ::unity::il2cpp::MethodInfo {
2510        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[22]
2511    }
2512
2513    pub fn bend_2_method_info() -> &'static ::unity::il2cpp::MethodInfo {
2514        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[23]
2515    }
2516
2517    pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
2518        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[24]
2519    }
2520}
2521
2522#[cfg(feature = "root_motion-final_ik-iksolvervr")]
2523impl IKSolverVR_Spine {
2524    #[doc = "Direct (non-virtual) call to `IKSolverVR_Spine`'s own `OnRead`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
2525    pub unsafe fn on_read(
2526        this: impl ::core::convert::Into<::unity::IlInstance>,
2527        positions: ::unity::Array<crate::unity_engine::vector3::Vector3>,
2528        rotations: ::unity::Array<crate::unity_engine::quaternion::Quaternion>,
2529        has_chest: bool,
2530        has_neck: bool,
2531        has_shoulders: bool,
2532        has_toes: bool,
2533        has_legs: bool,
2534        root_index: i32,
2535        index: i32,
2536    ) -> () {
2537        let __mi = Self::on_read_method_info();
2538        let __inner: extern "C" fn(
2539            ::unity::IlInstance,
2540            ::unity::Array<crate::unity_engine::vector3::Vector3>,
2541            ::unity::Array<crate::unity_engine::quaternion::Quaternion>,
2542            bool,
2543            bool,
2544            bool,
2545            bool,
2546            bool,
2547            i32,
2548            i32,
2549            ::unity::OptionalMethod,
2550        ) -> () = ::core::mem::transmute(__mi.method_ptr);
2551        __inner(
2552            this.into(),
2553            positions,
2554            rotations,
2555            has_chest,
2556            has_neck,
2557            has_shoulders,
2558            has_toes,
2559            has_legs,
2560            root_index,
2561            index,
2562            ::core::option::Option::None,
2563        )
2564    }
2565
2566    #[doc = "Direct (non-virtual) call to `IKSolverVR_Spine`'s own `PreSolve`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
2567    pub unsafe fn pre_solve(this: impl ::core::convert::Into<::unity::IlInstance>) -> () {
2568        let __mi = Self::pre_solve_method_info();
2569        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
2570        __inner(this.into(), ::core::option::Option::None)
2571    }
2572
2573    #[doc = "Direct (non-virtual) call to `IKSolverVR_Spine`'s own `ApplyOffsets`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
2574    pub unsafe fn apply_offsets(this: impl ::core::convert::Into<::unity::IlInstance>, scale: f32) -> () {
2575        let __mi = Self::apply_offsets_method_info();
2576        let __inner: extern "C" fn(::unity::IlInstance, f32, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
2577        __inner(this.into(), scale, ::core::option::Option::None)
2578    }
2579
2580    #[doc = "Direct (non-virtual) call to `IKSolverVR_Spine`'s own `Write`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
2581    pub unsafe fn write(
2582        this: impl ::core::convert::Into<::unity::IlInstance>,
2583        solved_positions: *mut ::unity::Array<crate::unity_engine::vector3::Vector3>,
2584        solved_rotations: *mut ::unity::Array<crate::unity_engine::quaternion::Quaternion>,
2585    ) -> () {
2586        let __mi = Self::write_method_info();
2587        let __inner: extern "C" fn(
2588            ::unity::IlInstance,
2589            *mut ::unity::Array<crate::unity_engine::vector3::Vector3>,
2590            *mut ::unity::Array<crate::unity_engine::quaternion::Quaternion>,
2591            ::unity::OptionalMethod,
2592        ) -> () = ::core::mem::transmute(__mi.method_ptr);
2593        __inner(this.into(), solved_positions, solved_rotations, ::core::option::Option::None)
2594    }
2595
2596    #[doc = "Direct (non-virtual) call to `IKSolverVR_Spine`'s own `ResetOffsets`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
2597    pub unsafe fn reset_offsets(this: impl ::core::convert::Into<::unity::IlInstance>) -> () {
2598        let __mi = Self::reset_offsets_method_info();
2599        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
2600        __inner(this.into(), ::core::option::Option::None)
2601    }
2602}
2603
2604#[cfg(feature = "root_motion-final_ik-iksolvervr")]
2605impl IKSolverVR_Spine {
2606    #[doc = "`.ctor()` — no args"]
2607    pub fn new() -> Self {
2608        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
2609            panic!(
2610                "{}
2611::{}
2612 failed to instantiate",
2613                ::core::stringify!(IKSolverVR_Spine),
2614                ::core::stringify!(new),
2615            )
2616        });
2617        <Self as IIKSolverVR_SpineMethods>::ctor(this);
2618        this
2619    }
2620}
2621
2622#[cfg(feature = "root_motion-final_ik-iksolvervr")]
2623pub trait IIKSolverVR_BodyPartMethods: IIKSolverVR_BodyPart {
2624    #[doc = "`OnRead(::unity::Array<crate::unity_engine::vector3::Vector3>, ::unity::Array<crate::unity_engine::quaternion::Quaternion>, bool, bool, bool, bool, bool, i32, i32)` overload"]
2625    fn on_read(
2626        self,
2627        positions: impl ::core::convert::Into<::unity::Array<crate::unity_engine::vector3::Vector3>>,
2628        rotations: impl ::core::convert::Into<::unity::Array<crate::unity_engine::quaternion::Quaternion>>,
2629        has_chest: impl ::core::convert::Into<bool>,
2630        has_neck: impl ::core::convert::Into<bool>,
2631        has_shoulders: impl ::core::convert::Into<bool>,
2632        has_toes: impl ::core::convert::Into<bool>,
2633        has_legs: impl ::core::convert::Into<bool>,
2634        root_index: impl ::core::convert::Into<i32>,
2635        index: impl ::core::convert::Into<i32>,
2636    ) -> () {
2637        unsafe {
2638            let __receiver = <IKSolverVR_BodyPart as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
2639            {
2640                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
2641                let __vi = *__vt.get(4usize).unwrap_or_else(|| {
2642                    panic!(
2643                        "unity: virtual slot {}
2644 out of range (vtable len {}
2645) on the runtime class behind {}
2646 (method `{}
2647`)",
2648                        4usize,
2649                        __vt.len(),
2650                        <IKSolverVR_BodyPart as ::unity::ClassIdentity>::NAME,
2651                        "OnRead",
2652                    )
2653                });
2654                let __inner: extern "C" fn(
2655                    IKSolverVR_BodyPart,
2656                    ::unity::Array<crate::unity_engine::vector3::Vector3>,
2657                    ::unity::Array<crate::unity_engine::quaternion::Quaternion>,
2658                    bool,
2659                    bool,
2660                    bool,
2661                    bool,
2662                    bool,
2663                    i32,
2664                    i32,
2665                    ::unity::OptionalMethod,
2666                ) -> () = ::core::mem::transmute(__vi.method_ptr);
2667                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
2668                __inner(
2669                    __receiver,
2670                    ::core::convert::Into::into(positions),
2671                    ::core::convert::Into::into(rotations),
2672                    ::core::convert::Into::into(has_chest),
2673                    ::core::convert::Into::into(has_neck),
2674                    ::core::convert::Into::into(has_shoulders),
2675                    ::core::convert::Into::into(has_toes),
2676                    ::core::convert::Into::into(has_legs),
2677                    ::core::convert::Into::into(root_index),
2678                    ::core::convert::Into::into(index),
2679                    __mi,
2680                )
2681            }
2682        }
2683    }
2684    #[doc = "`PreSolve()` overload"]
2685    fn pre_solve(self) -> () {
2686        unsafe {
2687            let __receiver = <IKSolverVR_BodyPart as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
2688            {
2689                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
2690                let __vi = *__vt.get(5usize).unwrap_or_else(|| {
2691                    panic!(
2692                        "unity: virtual slot {}
2693 out of range (vtable len {}
2694) on the runtime class behind {}
2695 (method `{}
2696`)",
2697                        5usize,
2698                        __vt.len(),
2699                        <IKSolverVR_BodyPart as ::unity::ClassIdentity>::NAME,
2700                        "PreSolve",
2701                    )
2702                });
2703                let __inner: extern "C" fn(IKSolverVR_BodyPart, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
2704                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
2705                __inner(__receiver, __mi)
2706            }
2707        }
2708    }
2709    #[doc = "`Write(*mut::unity::Array<crate::unity_engine::vector3::Vector3>, *mut::unity::Array<crate::unity_engine::quaternion::Quaternion>)` overload"]
2710    fn write(
2711        self,
2712    ) -> (
2713        ::unity::Array<crate::unity_engine::vector3::Vector3>,
2714        ::unity::Array<crate::unity_engine::quaternion::Quaternion>,
2715    ) {
2716        unsafe {
2717            let __receiver = <IKSolverVR_BodyPart as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
2718            let mut __out_0 = ::core::mem::MaybeUninit::<::unity::Array<crate::unity_engine::vector3::Vector3>>::uninit();
2719            let mut __out_1 = ::core::mem::MaybeUninit::<::unity::Array<crate::unity_engine::quaternion::Quaternion>>::uninit();
2720            {
2721                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
2722                let __vi = *__vt.get(6usize).unwrap_or_else(|| {
2723                    panic!(
2724                        "unity: virtual slot {}
2725 out of range (vtable len {}
2726) on the runtime class behind {}
2727 (method `{}
2728`)",
2729                        6usize,
2730                        __vt.len(),
2731                        <IKSolverVR_BodyPart as ::unity::ClassIdentity>::NAME,
2732                        "Write",
2733                    )
2734                });
2735                let __inner: extern "C" fn(
2736                    IKSolverVR_BodyPart,
2737                    *mut ::unity::Array<crate::unity_engine::vector3::Vector3>,
2738                    *mut ::unity::Array<crate::unity_engine::quaternion::Quaternion>,
2739                    ::unity::OptionalMethod,
2740                ) -> () = ::core::mem::transmute(__vi.method_ptr);
2741                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
2742                __inner(__receiver, __out_0.as_mut_ptr(), __out_1.as_mut_ptr(), __mi)
2743            };
2744            (__out_0.assume_init(), __out_1.assume_init())
2745        }
2746    }
2747    #[doc = "`ApplyOffsets(f32)` overload"]
2748    fn apply_offsets(self, scale: impl ::core::convert::Into<f32>) -> () {
2749        unsafe {
2750            let __receiver = <IKSolverVR_BodyPart as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
2751            {
2752                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
2753                let __vi = *__vt.get(7usize).unwrap_or_else(|| {
2754                    panic!(
2755                        "unity: virtual slot {}
2756 out of range (vtable len {}
2757) on the runtime class behind {}
2758 (method `{}
2759`)",
2760                        7usize,
2761                        __vt.len(),
2762                        <IKSolverVR_BodyPart as ::unity::ClassIdentity>::NAME,
2763                        "ApplyOffsets",
2764                    )
2765                });
2766                let __inner: extern "C" fn(IKSolverVR_BodyPart, f32, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
2767                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
2768                __inner(__receiver, ::core::convert::Into::into(scale), __mi)
2769            }
2770        }
2771    }
2772    #[doc = "`ResetOffsets()` overload"]
2773    fn reset_offsets(self) -> () {
2774        unsafe {
2775            let __receiver = <IKSolverVR_BodyPart as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
2776            {
2777                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
2778                let __vi = *__vt.get(8usize).unwrap_or_else(|| {
2779                    panic!(
2780                        "unity: virtual slot {}
2781 out of range (vtable len {}
2782) on the runtime class behind {}
2783 (method `{}
2784`)",
2785                        8usize,
2786                        __vt.len(),
2787                        <IKSolverVR_BodyPart as ::unity::ClassIdentity>::NAME,
2788                        "ResetOffsets",
2789                    )
2790                });
2791                let __inner: extern "C" fn(IKSolverVR_BodyPart, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
2792                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
2793                __inner(__receiver, __mi)
2794            }
2795        }
2796    }
2797    #[doc = "`get_sqrMag()` overload"]
2798    fn get_sqr_mag(self) -> f32 {
2799        unsafe {
2800            let __receiver = <IKSolverVR_BodyPart as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
2801            ::unity::il2cpp_call!((::unity::module_base()+0x2af5060usize)as*mut u8,f32;
2802(IKSolverVR_BodyPart)__receiver)
2803        }
2804    }
2805    #[doc = "`set_sqrMag(f32)` overload"]
2806    fn set_sqr_mag(self, value: impl ::core::convert::Into<f32>) -> () {
2807        unsafe {
2808            let __receiver = <IKSolverVR_BodyPart as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
2809            ::unity::il2cpp_call!((::unity::module_base()+0x2af5070usize)as*mut u8,();
2810(IKSolverVR_BodyPart)__receiver,(f32)::core::convert::Into::into(value))
2811        }
2812    }
2813    #[doc = "`get_mag()` overload"]
2814    fn get_mag(self) -> f32 {
2815        unsafe {
2816            let __receiver = <IKSolverVR_BodyPart as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
2817            ::unity::il2cpp_call!((::unity::module_base()+0x2af5080usize)as*mut u8,f32;
2818(IKSolverVR_BodyPart)__receiver)
2819        }
2820    }
2821    #[doc = "`set_mag(f32)` overload"]
2822    fn set_mag(self, value: impl ::core::convert::Into<f32>) -> () {
2823        unsafe {
2824            let __receiver = <IKSolverVR_BodyPart as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
2825            ::unity::il2cpp_call!((::unity::module_base()+0x2af5090usize)as*mut u8,();
2826(IKSolverVR_BodyPart)__receiver,(f32)::core::convert::Into::into(value))
2827        }
2828    }
2829    #[doc = "`SetLOD(i32)` overload"]
2830    fn set_lod(self, lod: impl ::core::convert::Into<i32>) -> () {
2831        unsafe {
2832            let __receiver = <IKSolverVR_BodyPart as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
2833            ::unity::il2cpp_call!((::unity::module_base()+0x2af50a0usize)as*mut u8,();
2834(IKSolverVR_BodyPart)__receiver,(i32)::core::convert::Into::into(lod))
2835        }
2836    }
2837    #[doc = "`Read(::unity::Array<crate::unity_engine::vector3::Vector3>, ::unity::Array<crate::unity_engine::quaternion::Quaternion>, bool, bool, bool, bool, bool, i32, i32)` overload"]
2838    fn read(
2839        self,
2840        positions: impl ::core::convert::Into<::unity::Array<crate::unity_engine::vector3::Vector3>>,
2841        rotations: impl ::core::convert::Into<::unity::Array<crate::unity_engine::quaternion::Quaternion>>,
2842        has_chest: impl ::core::convert::Into<bool>,
2843        has_neck: impl ::core::convert::Into<bool>,
2844        has_shoulders: impl ::core::convert::Into<bool>,
2845        has_toes: impl ::core::convert::Into<bool>,
2846        has_legs: impl ::core::convert::Into<bool>,
2847        root_index: impl ::core::convert::Into<i32>,
2848        index: impl ::core::convert::Into<i32>,
2849    ) -> () {
2850        unsafe {
2851            let __receiver = <IKSolverVR_BodyPart as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
2852            ::unity::il2cpp_call!((::unity::module_base()+0x2af50b0usize)as*mut u8,();
2853(IKSolverVR_BodyPart)__receiver,(::unity::Array<crate::unity_engine::vector3::Vector3>)::core::convert::Into::into(positions),(::unity::Array<crate::unity_engine::quaternion::Quaternion>)::core::convert::Into::into(rotations),(bool)::core::convert::Into::into(has_chest),(bool)::core::convert::Into::into(has_neck),(bool)::core::convert::Into::into(has_shoulders),(bool)::core::convert::Into::into(has_toes),(bool)::core::convert::Into::into(has_legs),(i32)::core::convert::Into::into(root_index),(i32)::core::convert::Into::into(index))
2854        }
2855    }
2856    #[doc = "`MovePosition(crate::unity_engine::vector3::Vector3)` overload"]
2857    fn move_position(self, position: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>) -> () {
2858        unsafe {
2859            let __receiver = <IKSolverVR_BodyPart as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
2860            ::unity::il2cpp_call!((::unity::module_base()+0x2af5180usize)as*mut u8,();
2861(IKSolverVR_BodyPart)__receiver,(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(position))
2862        }
2863    }
2864    #[doc = "`MoveRotation(crate::unity_engine::quaternion::Quaternion)` overload"]
2865    fn move_rotation(self, rotation: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>) -> () {
2866        unsafe {
2867            let __receiver = <IKSolverVR_BodyPart as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
2868            ::unity::il2cpp_call!((::unity::module_base()+0x2af5210usize)as*mut u8,();
2869(IKSolverVR_BodyPart)__receiver,(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(rotation))
2870        }
2871    }
2872    #[doc = "`Translate(crate::unity_engine::vector3::Vector3, crate::unity_engine::quaternion::Quaternion)` overload"]
2873    fn translate(
2874        self,
2875        position: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
2876        rotation: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>,
2877    ) -> () {
2878        unsafe {
2879            let __receiver = <IKSolverVR_BodyPart as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
2880            ::unity::il2cpp_call!((::unity::module_base()+0x2af52b0usize)as*mut u8,();
2881(IKSolverVR_BodyPart)__receiver,(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(position),(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(rotation))
2882        }
2883    }
2884    #[doc = "`TranslateRoot(crate::unity_engine::vector3::Vector3, crate::unity_engine::quaternion::Quaternion)` overload"]
2885    fn translate_root(
2886        self,
2887        new_root_pos: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
2888        new_root_rot: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>,
2889    ) -> () {
2890        unsafe {
2891            let __receiver = <IKSolverVR_BodyPart as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
2892            ::unity::il2cpp_call!((::unity::module_base()+0x2af5310usize)as*mut u8,();
2893(IKSolverVR_BodyPart)__receiver,(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(new_root_pos),(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(new_root_rot))
2894        }
2895    }
2896    #[doc = "`RotateTo(crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone, crate::unity_engine::quaternion::Quaternion, f32)` overload"]
2897    fn rotate_to(
2898        self,
2899        bone: impl ::core::convert::Into<crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone>,
2900        rotation: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>,
2901        weight: impl ::core::convert::Into<f32>,
2902    ) -> () {
2903        unsafe {
2904            let __receiver = <IKSolverVR_BodyPart as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
2905            ::unity::il2cpp_call!((::unity::module_base()+0x2af4a30usize)as*mut u8,();
2906(IKSolverVR_BodyPart)__receiver,(crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone)::core::convert::Into::into(bone),(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(rotation),(f32)::core::convert::Into::into(weight))
2907        }
2908    }
2909    #[doc = "`Visualize(crate::unity_engine::color::Color)` overload"]
2910    fn visualize(self, color: impl ::core::convert::Into<crate::unity_engine::color::Color>) -> () {
2911        unsafe {
2912            let __receiver = <IKSolverVR_BodyPart as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
2913            ::unity::il2cpp_call!((::unity::module_base()+0x2af5450usize)as*mut u8,();
2914(IKSolverVR_BodyPart)__receiver,(crate::unity_engine::color::Color)::core::convert::Into::into(color))
2915        }
2916    }
2917    #[doc = "`Visualize()` overload"]
2918    fn visualize_2(self) -> () {
2919        unsafe {
2920            let __receiver = <IKSolverVR_BodyPart as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
2921            ::unity::il2cpp_call!((::unity::module_base()+0x2af5460usize)as*mut u8,();
2922(IKSolverVR_BodyPart)__receiver)
2923        }
2924    }
2925    #[doc = "`.ctor()` overload"]
2926    fn ctor(self) -> () {
2927        unsafe {
2928            let __receiver = <IKSolverVR_BodyPart as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
2929            ::unity::il2cpp_call!((::unity::module_base()+0x2af4fd0usize)as*mut u8,();
2930(IKSolverVR_BodyPart)__receiver)
2931        }
2932    }
2933}
2934
2935#[cfg(feature = "root_motion-final_ik-iksolvervr")]
2936impl<__T: IIKSolverVR_BodyPart> IIKSolverVR_BodyPartMethods for __T {}
2937
2938#[cfg(feature = "root_motion-final_ik-iksolvervr")]
2939impl IKSolverVR_BodyPart {
2940    pub fn on_read_method_info() -> &'static ::unity::il2cpp::MethodInfo {
2941        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
2942    }
2943
2944    pub fn pre_solve_method_info() -> &'static ::unity::il2cpp::MethodInfo {
2945        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
2946    }
2947
2948    pub fn write_method_info() -> &'static ::unity::il2cpp::MethodInfo {
2949        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
2950    }
2951
2952    pub fn apply_offsets_method_info() -> &'static ::unity::il2cpp::MethodInfo {
2953        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[3]
2954    }
2955
2956    pub fn reset_offsets_method_info() -> &'static ::unity::il2cpp::MethodInfo {
2957        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[4]
2958    }
2959
2960    pub fn get_sqr_mag_method_info() -> &'static ::unity::il2cpp::MethodInfo {
2961        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[5]
2962    }
2963
2964    pub fn set_sqr_mag_method_info() -> &'static ::unity::il2cpp::MethodInfo {
2965        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[6]
2966    }
2967
2968    pub fn get_mag_method_info() -> &'static ::unity::il2cpp::MethodInfo {
2969        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[7]
2970    }
2971
2972    pub fn set_mag_method_info() -> &'static ::unity::il2cpp::MethodInfo {
2973        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[8]
2974    }
2975
2976    pub fn set_lod_method_info() -> &'static ::unity::il2cpp::MethodInfo {
2977        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[9]
2978    }
2979
2980    pub fn read_method_info() -> &'static ::unity::il2cpp::MethodInfo {
2981        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[10]
2982    }
2983
2984    pub fn move_position_method_info() -> &'static ::unity::il2cpp::MethodInfo {
2985        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[11]
2986    }
2987
2988    pub fn move_rotation_method_info() -> &'static ::unity::il2cpp::MethodInfo {
2989        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[12]
2990    }
2991
2992    pub fn translate_method_info() -> &'static ::unity::il2cpp::MethodInfo {
2993        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[13]
2994    }
2995
2996    pub fn translate_root_method_info() -> &'static ::unity::il2cpp::MethodInfo {
2997        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[14]
2998    }
2999
3000    pub fn rotate_to_method_info() -> &'static ::unity::il2cpp::MethodInfo {
3001        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[15]
3002    }
3003
3004    pub fn visualize_method_info() -> &'static ::unity::il2cpp::MethodInfo {
3005        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[16]
3006    }
3007
3008    pub fn visualize_2_method_info() -> &'static ::unity::il2cpp::MethodInfo {
3009        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[17]
3010    }
3011
3012    pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
3013        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[18]
3014    }
3015}
3016
3017#[cfg(feature = "root_motion-final_ik-iksolvervr")]
3018impl IKSolverVR_BodyPart {
3019    #[doc = "Direct (non-virtual) call to `IKSolverVR_BodyPart`'s own `OnRead`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
3020    pub unsafe fn on_read(
3021        this: impl ::core::convert::Into<::unity::IlInstance>,
3022        positions: ::unity::Array<crate::unity_engine::vector3::Vector3>,
3023        rotations: ::unity::Array<crate::unity_engine::quaternion::Quaternion>,
3024        has_chest: bool,
3025        has_neck: bool,
3026        has_shoulders: bool,
3027        has_toes: bool,
3028        has_legs: bool,
3029        root_index: i32,
3030        index: i32,
3031    ) -> () {
3032        let __mi = Self::on_read_method_info();
3033        let __inner: extern "C" fn(
3034            ::unity::IlInstance,
3035            ::unity::Array<crate::unity_engine::vector3::Vector3>,
3036            ::unity::Array<crate::unity_engine::quaternion::Quaternion>,
3037            bool,
3038            bool,
3039            bool,
3040            bool,
3041            bool,
3042            i32,
3043            i32,
3044            ::unity::OptionalMethod,
3045        ) -> () = ::core::mem::transmute(__mi.method_ptr);
3046        __inner(
3047            this.into(),
3048            positions,
3049            rotations,
3050            has_chest,
3051            has_neck,
3052            has_shoulders,
3053            has_toes,
3054            has_legs,
3055            root_index,
3056            index,
3057            ::core::option::Option::None,
3058        )
3059    }
3060
3061    #[doc = "Direct (non-virtual) call to `IKSolverVR_BodyPart`'s own `PreSolve`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
3062    pub unsafe fn pre_solve(this: impl ::core::convert::Into<::unity::IlInstance>) -> () {
3063        let __mi = Self::pre_solve_method_info();
3064        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
3065        __inner(this.into(), ::core::option::Option::None)
3066    }
3067
3068    #[doc = "Direct (non-virtual) call to `IKSolverVR_BodyPart`'s own `Write`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
3069    pub unsafe fn write(
3070        this: impl ::core::convert::Into<::unity::IlInstance>,
3071        solved_positions: *mut ::unity::Array<crate::unity_engine::vector3::Vector3>,
3072        solved_rotations: *mut ::unity::Array<crate::unity_engine::quaternion::Quaternion>,
3073    ) -> () {
3074        let __mi = Self::write_method_info();
3075        let __inner: extern "C" fn(
3076            ::unity::IlInstance,
3077            *mut ::unity::Array<crate::unity_engine::vector3::Vector3>,
3078            *mut ::unity::Array<crate::unity_engine::quaternion::Quaternion>,
3079            ::unity::OptionalMethod,
3080        ) -> () = ::core::mem::transmute(__mi.method_ptr);
3081        __inner(this.into(), solved_positions, solved_rotations, ::core::option::Option::None)
3082    }
3083
3084    #[doc = "Direct (non-virtual) call to `IKSolverVR_BodyPart`'s own `ApplyOffsets`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
3085    pub unsafe fn apply_offsets(this: impl ::core::convert::Into<::unity::IlInstance>, scale: f32) -> () {
3086        let __mi = Self::apply_offsets_method_info();
3087        let __inner: extern "C" fn(::unity::IlInstance, f32, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
3088        __inner(this.into(), scale, ::core::option::Option::None)
3089    }
3090
3091    #[doc = "Direct (non-virtual) call to `IKSolverVR_BodyPart`'s own `ResetOffsets`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
3092    pub unsafe fn reset_offsets(this: impl ::core::convert::Into<::unity::IlInstance>) -> () {
3093        let __mi = Self::reset_offsets_method_info();
3094        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
3095        __inner(this.into(), ::core::option::Option::None)
3096    }
3097}
3098
3099#[cfg(feature = "root_motion-final_ik-iksolvervr")]
3100impl IKSolverVR_BodyPart {
3101    #[doc = "`.ctor()` — no args"]
3102    pub fn new() -> Self {
3103        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
3104            panic!(
3105                "{}
3106::{}
3107 failed to instantiate",
3108                ::core::stringify!(IKSolverVR_BodyPart),
3109                ::core::stringify!(new),
3110            )
3111        });
3112        <Self as IIKSolverVR_BodyPartMethods>::ctor(this);
3113        this
3114    }
3115}
3116
3117#[cfg(feature = "root_motion-final_ik-iksolvervr")]
3118impl IKSolverVR {
3119    #[doc = "`GetSineKeyframes(f32)` overload"]
3120    pub fn get_sine_keyframes(mag: impl ::core::convert::Into<f32>) -> ::unity::Array<crate::unity_engine::keyframe::Keyframe> {
3121        unsafe {
3122            ::unity::il2cpp_call!((::unity::module_base()+0x2907e00usize)as*mut u8, ::unity::Array<crate::unity_engine::keyframe::Keyframe> ;
3123(f32)::core::convert::Into::into(mag))
3124        }
3125    }
3126}
3127
3128#[cfg(feature = "root_motion-final_ik-iksolvervr")]
3129pub trait IIKSolverVRMethods: IIKSolverVR {
3130    #[doc = "`SetToReferences(crate::root_motion::final_ik::vrik::VRIK_References)` overload"]
3131    fn set_to_references(self, references: impl ::core::convert::Into<crate::root_motion::final_ik::vrik::VRIK_References>) -> () {
3132        unsafe {
3133            let __receiver = <IKSolverVR as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
3134            ::unity::il2cpp_call!((::unity::module_base()+0x2907820usize)as*mut u8,();
3135(IKSolverVR)__receiver,(crate::root_motion::final_ik::vrik::VRIK_References)::core::convert::Into::into(references))
3136        }
3137    }
3138    #[doc = "`GuessHandOrientations(crate::root_motion::final_ik::vrik::VRIK_References, bool)` overload"]
3139    fn guess_hand_orientations(
3140        self,
3141        references: impl ::core::convert::Into<crate::root_motion::final_ik::vrik::VRIK_References>,
3142        only_if_zero: impl ::core::convert::Into<bool>,
3143    ) -> () {
3144        unsafe {
3145            let __receiver = <IKSolverVR as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
3146            ::unity::il2cpp_call!((::unity::module_base()+0x2907c60usize)as*mut u8,();
3147(IKSolverVR)__receiver,(crate::root_motion::final_ik::vrik::VRIK_References)::core::convert::Into::into(references),(bool)::core::convert::Into::into(only_if_zero))
3148        }
3149    }
3150    #[doc = "`DefaultAnimationCurves()` overload"]
3151    fn default_animation_curves(self) -> () {
3152        unsafe {
3153            let __receiver = <IKSolverVR as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
3154            ::unity::il2cpp_call!((::unity::module_base()+0x2907af0usize)as*mut u8,();
3155(IKSolverVR)__receiver)
3156        }
3157    }
3158    #[doc = "`AddPositionOffset(crate::root_motion::final_ik::iksolvervr::IKSolverVR_PositionOffset, crate::unity_engine::vector3::Vector3)` overload"]
3159    fn add_position_offset(
3160        self,
3161        position_offset: impl ::core::convert::Into<crate::root_motion::final_ik::iksolvervr::IKSolverVR_PositionOffset>,
3162        value: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
3163    ) -> () {
3164        unsafe {
3165            let __receiver = <IKSolverVR as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
3166            ::unity::il2cpp_call!((::unity::module_base()+0x2907f20usize)as*mut u8,();
3167(IKSolverVR)__receiver,(crate::root_motion::final_ik::iksolvervr::IKSolverVR_PositionOffset)::core::convert::Into::into(position_offset),(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(value))
3168        }
3169    }
3170    #[doc = "`AddRotationOffset(crate::root_motion::final_ik::iksolvervr::IKSolverVR_RotationOffset, crate::unity_engine::vector3::Vector3)` overload"]
3171    fn add_rotation_offset(
3172        self,
3173        rotation_offset: impl ::core::convert::Into<crate::root_motion::final_ik::iksolvervr::IKSolverVR_RotationOffset>,
3174        value: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
3175    ) -> () {
3176        unsafe {
3177            let __receiver = <IKSolverVR as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
3178            ::unity::il2cpp_call!((::unity::module_base()+0x2908040usize)as*mut u8,();
3179(IKSolverVR)__receiver,(crate::root_motion::final_ik::iksolvervr::IKSolverVR_RotationOffset)::core::convert::Into::into(rotation_offset),(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(value))
3180        }
3181    }
3182    #[doc = "`AddRotationOffset(crate::root_motion::final_ik::iksolvervr::IKSolverVR_RotationOffset, crate::unity_engine::quaternion::Quaternion)` overload"]
3183    fn add_rotation_offset_2(
3184        self,
3185        rotation_offset: impl ::core::convert::Into<crate::root_motion::final_ik::iksolvervr::IKSolverVR_RotationOffset>,
3186        value: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>,
3187    ) -> () {
3188        unsafe {
3189            let __receiver = <IKSolverVR as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
3190            ::unity::il2cpp_call!((::unity::module_base()+0x2908070usize)as*mut u8,();
3191(IKSolverVR)__receiver,(crate::root_motion::final_ik::iksolvervr::IKSolverVR_RotationOffset)::core::convert::Into::into(rotation_offset),(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(value))
3192        }
3193    }
3194    #[doc = "`AddPlatformMotion(crate::unity_engine::vector3::Vector3, crate::unity_engine::quaternion::Quaternion, crate::unity_engine::vector3::Vector3)` overload"]
3195    fn add_platform_motion(
3196        self,
3197        delta_position: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
3198        delta_rotation: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>,
3199        platform_pivot: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
3200    ) -> () {
3201        unsafe {
3202            let __receiver = <IKSolverVR as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
3203            ::unity::il2cpp_call!((::unity::module_base()+0x2908110usize)as*mut u8,();
3204(IKSolverVR)__receiver,(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(delta_position),(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(delta_rotation),(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(platform_pivot))
3205        }
3206    }
3207    #[doc = "`Reset()` overload"]
3208    fn reset(self) -> () {
3209        unsafe {
3210            let __receiver = <IKSolverVR as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
3211            ::unity::il2cpp_call!((::unity::module_base()+0x2908210usize)as*mut u8,();
3212(IKSolverVR)__receiver)
3213        }
3214    }
3215    #[doc = "`StoreDefaultLocalState()` overload"]
3216    fn store_default_local_state(self) -> () {
3217        unsafe {
3218            let __receiver = <IKSolverVR as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
3219            {
3220                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
3221                let __vi = *__vt.get(9usize).unwrap_or_else(|| {
3222                    panic!(
3223                        "unity: virtual slot {}
3224 out of range (vtable len {}
3225) on the runtime class behind {}
3226 (method `{}
3227`)",
3228                        9usize,
3229                        __vt.len(),
3230                        <IKSolverVR as ::unity::ClassIdentity>::NAME,
3231                        "StoreDefaultLocalState",
3232                    )
3233                });
3234                let __inner: extern "C" fn(IKSolverVR, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
3235                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
3236                __inner(__receiver, __mi)
3237            }
3238        }
3239    }
3240    #[doc = "`FixTransforms()` overload"]
3241    fn fix_transforms(self) -> () {
3242        unsafe {
3243            let __receiver = <IKSolverVR as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
3244            {
3245                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
3246                let __vi = *__vt.get(8usize).unwrap_or_else(|| {
3247                    panic!(
3248                        "unity: virtual slot {}
3249 out of range (vtable len {}
3250) on the runtime class behind {}
3251 (method `{}
3252`)",
3253                        8usize,
3254                        __vt.len(),
3255                        <IKSolverVR as ::unity::ClassIdentity>::NAME,
3256                        "FixTransforms",
3257                    )
3258                });
3259                let __inner: extern "C" fn(IKSolverVR, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
3260                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
3261                __inner(__receiver, __mi)
3262            }
3263        }
3264    }
3265    #[doc = "`GetPoints()` overload"]
3266    fn get_points(self) -> ::unity::Array<crate::root_motion::final_ik::iksolver::IKSolver_Point> {
3267        unsafe {
3268            let __receiver = <IKSolverVR as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
3269            {
3270                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
3271                let __vi = *__vt.get(6usize).unwrap_or_else(|| {
3272                    panic!(
3273                        "unity: virtual slot {}
3274 out of range (vtable len {}
3275) on the runtime class behind {}
3276 (method `{}
3277`)",
3278                        6usize,
3279                        __vt.len(),
3280                        <IKSolverVR as ::unity::ClassIdentity>::NAME,
3281                        "GetPoints",
3282                    )
3283                });
3284                let __inner: extern "C" fn(
3285                    IKSolverVR,
3286                    ::unity::OptionalMethod,
3287                ) -> ::unity::Array<crate::root_motion::final_ik::iksolver::IKSolver_Point> = ::core::mem::transmute(__vi.method_ptr);
3288                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
3289                __inner(__receiver, __mi)
3290            }
3291        }
3292    }
3293    #[doc = "`GetPoint(crate::unity_engine::transform::Transform)` overload"]
3294    fn get_point(
3295        self,
3296        transform: impl ::core::convert::Into<crate::unity_engine::transform::Transform>,
3297    ) -> crate::root_motion::final_ik::iksolver::IKSolver_Point {
3298        unsafe {
3299            let __receiver = <IKSolverVR as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
3300            {
3301                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
3302                let __vi = *__vt.get(7usize).unwrap_or_else(|| {
3303                    panic!(
3304                        "unity: virtual slot {}
3305 out of range (vtable len {}
3306) on the runtime class behind {}
3307 (method `{}
3308`)",
3309                        7usize,
3310                        __vt.len(),
3311                        <IKSolverVR as ::unity::ClassIdentity>::NAME,
3312                        "GetPoint",
3313                    )
3314                });
3315                let __inner: extern "C" fn(
3316                    IKSolverVR,
3317                    crate::unity_engine::transform::Transform,
3318                    ::unity::OptionalMethod,
3319                ) -> crate::root_motion::final_ik::iksolver::IKSolver_Point = ::core::mem::transmute(__vi.method_ptr);
3320                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
3321                __inner(__receiver, ::core::convert::Into::into(transform), __mi)
3322            }
3323        }
3324    }
3325    #[doc = "`IsValid(*mut::unity::Il2CppString)` overload"]
3326    fn is_valid(self) -> (bool, ::unity::Il2CppString) {
3327        unsafe {
3328            let __receiver = <IKSolverVR as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
3329            let mut __out_0 = ::core::mem::MaybeUninit::<::unity::Il2CppString>::uninit();
3330            let __ret = {
3331                {
3332                    let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
3333                    let __vi = *__vt.get(4usize).unwrap_or_else(|| {
3334                        panic!(
3335                            "unity: virtual slot {}
3336 out of range (vtable len {}
3337) on the runtime class behind {}
3338 (method `{}
3339`)",
3340                            4usize,
3341                            __vt.len(),
3342                            <IKSolverVR as ::unity::ClassIdentity>::NAME,
3343                            "IsValid",
3344                        )
3345                    });
3346                    let __inner: extern "C" fn(IKSolverVR, *mut ::unity::Il2CppString, ::unity::OptionalMethod) -> bool =
3347                        ::core::mem::transmute(__vi.method_ptr);
3348                    let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
3349                    __inner(__receiver, __out_0.as_mut_ptr(), __mi)
3350                }
3351            };
3352            (__ret, __out_0.assume_init())
3353        }
3354    }
3355    #[doc = "`GetNormal(::unity::Array<crate::unity_engine::transform::Transform>)` overload"]
3356    fn get_normal(
3357        self,
3358        transforms: impl ::core::convert::Into<::unity::Array<crate::unity_engine::transform::Transform>>,
3359    ) -> crate::unity_engine::vector3::Vector3 {
3360        unsafe {
3361            let __receiver = <IKSolverVR as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
3362            ::unity::il2cpp_call!((::unity::module_base()+0x2908f00usize)as*mut u8,crate::unity_engine::vector3::Vector3;
3363(IKSolverVR)__receiver,(::unity::Array<crate::unity_engine::transform::Transform>)::core::convert::Into::into(transforms))
3364        }
3365    }
3366    #[doc = "`UpdateSolverTransforms()` overload"]
3367    fn update_solver_transforms(self) -> () {
3368        unsafe {
3369            let __receiver = <IKSolverVR as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
3370            ::unity::il2cpp_call!((::unity::module_base()+0x29082f0usize)as*mut u8,();
3371(IKSolverVR)__receiver)
3372        }
3373    }
3374    #[doc = "`OnInitiate()` overload"]
3375    fn on_initiate(self) -> () {
3376        unsafe {
3377            let __receiver = <IKSolverVR as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
3378            {
3379                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
3380                let __vi = *__vt.get(10usize).unwrap_or_else(|| {
3381                    panic!(
3382                        "unity: virtual slot {}
3383 out of range (vtable len {}
3384) on the runtime class behind {}
3385 (method `{}
3386`)",
3387                        10usize,
3388                        __vt.len(),
3389                        <IKSolverVR as ::unity::ClassIdentity>::NAME,
3390                        "OnInitiate",
3391                    )
3392                });
3393                let __inner: extern "C" fn(IKSolverVR, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
3394                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
3395                __inner(__receiver, __mi)
3396            }
3397        }
3398    }
3399    #[doc = "`OnUpdate()` overload"]
3400    fn on_update(self) -> () {
3401        unsafe {
3402            let __receiver = <IKSolverVR as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
3403            {
3404                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
3405                let __vi = *__vt.get(11usize).unwrap_or_else(|| {
3406                    panic!(
3407                        "unity: virtual slot {}
3408 out of range (vtable len {}
3409) on the runtime class behind {}
3410 (method `{}
3411`)",
3412                        11usize,
3413                        __vt.len(),
3414                        <IKSolverVR as ::unity::ClassIdentity>::NAME,
3415                        "OnUpdate",
3416                    )
3417                });
3418                let __inner: extern "C" fn(IKSolverVR, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
3419                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
3420                __inner(__receiver, __mi)
3421            }
3422        }
3423    }
3424    #[doc = "`WriteTransforms()` overload"]
3425    fn write_transforms(self) -> () {
3426        unsafe {
3427            let __receiver = <IKSolverVR as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
3428            ::unity::il2cpp_call!((::unity::module_base()+0x290a4b0usize)as*mut u8,();
3429(IKSolverVR)__receiver)
3430        }
3431    }
3432    #[doc = "`Read(::unity::Array<crate::unity_engine::vector3::Vector3>, ::unity::Array<crate::unity_engine::quaternion::Quaternion>, bool, bool, bool, bool, bool)` overload"]
3433    fn read(
3434        self,
3435        positions: impl ::core::convert::Into<::unity::Array<crate::unity_engine::vector3::Vector3>>,
3436        rotations: impl ::core::convert::Into<::unity::Array<crate::unity_engine::quaternion::Quaternion>>,
3437        has_chest: impl ::core::convert::Into<bool>,
3438        has_neck: impl ::core::convert::Into<bool>,
3439        has_shoulders: impl ::core::convert::Into<bool>,
3440        has_toes: impl ::core::convert::Into<bool>,
3441        has_legs: impl ::core::convert::Into<bool>,
3442    ) -> () {
3443        unsafe {
3444            let __receiver = <IKSolverVR as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
3445            ::unity::il2cpp_call!((::unity::module_base()+0x2908450usize)as*mut u8,();
3446(IKSolverVR)__receiver,(::unity::Array<crate::unity_engine::vector3::Vector3>)::core::convert::Into::into(positions),(::unity::Array<crate::unity_engine::quaternion::Quaternion>)::core::convert::Into::into(rotations),(bool)::core::convert::Into::into(has_chest),(bool)::core::convert::Into::into(has_neck),(bool)::core::convert::Into::into(has_shoulders),(bool)::core::convert::Into::into(has_toes),(bool)::core::convert::Into::into(has_legs))
3447        }
3448    }
3449    #[doc = "`Solve()` overload"]
3450    fn solve(self) -> () {
3451        unsafe {
3452            let __receiver = <IKSolverVR as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
3453            ::unity::il2cpp_call!((::unity::module_base()+0x2909420usize)as*mut u8,();
3454(IKSolverVR)__receiver)
3455        }
3456    }
3457    #[doc = "`GetPosition(i32)` overload"]
3458    fn get_position(self, index: impl ::core::convert::Into<i32>) -> crate::unity_engine::vector3::Vector3 {
3459        unsafe {
3460            let __receiver = <IKSolverVR as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
3461            ::unity::il2cpp_call!((::unity::module_base()+0x290a800usize)as*mut u8,crate::unity_engine::vector3::Vector3;
3462(IKSolverVR)__receiver,(i32)::core::convert::Into::into(index))
3463        }
3464    }
3465    #[doc = "`GetRotation(i32)` overload"]
3466    fn get_rotation(self, index: impl ::core::convert::Into<i32>) -> crate::unity_engine::quaternion::Quaternion {
3467        unsafe {
3468            let __receiver = <IKSolverVR as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
3469            ::unity::il2cpp_call!((::unity::module_base()+0x290a840usize)as*mut u8,crate::unity_engine::quaternion::Quaternion;
3470(IKSolverVR)__receiver,(i32)::core::convert::Into::into(index))
3471        }
3472    }
3473    #[doc = "`get_rootBone()` overload"]
3474    fn get_root_bone(self) -> crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone {
3475        unsafe {
3476            let __receiver = <IKSolverVR as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
3477            ::unity::il2cpp_call!((::unity::module_base()+0x290aca0usize)as*mut u8,crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone;
3478(IKSolverVR)__receiver)
3479        }
3480    }
3481    #[doc = "`set_rootBone(crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone)` overload"]
3482    fn set_root_bone(self, value: impl ::core::convert::Into<crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone>) -> () {
3483        unsafe {
3484            let __receiver = <IKSolverVR as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
3485            ::unity::il2cpp_call!((::unity::module_base()+0x290acb0usize)as*mut u8,();
3486(IKSolverVR)__receiver,(crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone)::core::convert::Into::into(value))
3487        }
3488    }
3489    #[doc = "`Write()` overload"]
3490    fn write(self) -> () {
3491        unsafe {
3492            let __receiver = <IKSolverVR as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
3493            ::unity::il2cpp_call!((::unity::module_base()+0x290a370usize)as*mut u8,();
3494(IKSolverVR)__receiver)
3495        }
3496    }
3497    #[doc = "`GetPelvisOffset()` overload"]
3498    fn get_pelvis_offset(self) -> crate::unity_engine::vector3::Vector3 {
3499        unsafe {
3500            let __receiver = <IKSolverVR as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
3501            ::unity::il2cpp_call!((::unity::module_base()+0x290a880usize)as*mut u8,crate::unity_engine::vector3::Vector3;
3502(IKSolverVR)__receiver)
3503        }
3504    }
3505    #[doc = "`.ctor()` overload"]
3506    fn ctor(self) -> () {
3507        unsafe {
3508            let __receiver = <IKSolverVR as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
3509            ::unity::il2cpp_call!((::unity::module_base()+0x290acc0usize)as*mut u8,();
3510(IKSolverVR)__receiver)
3511        }
3512    }
3513}
3514
3515#[cfg(feature = "root_motion-final_ik-iksolvervr")]
3516impl<__T: IIKSolverVR> IIKSolverVRMethods for __T {}
3517
3518#[cfg(feature = "root_motion-final_ik-iksolvervr")]
3519impl IKSolverVR {
3520    pub fn set_to_references_method_info() -> &'static ::unity::il2cpp::MethodInfo {
3521        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
3522    }
3523
3524    pub fn guess_hand_orientations_method_info() -> &'static ::unity::il2cpp::MethodInfo {
3525        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
3526    }
3527
3528    pub fn default_animation_curves_method_info() -> &'static ::unity::il2cpp::MethodInfo {
3529        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
3530    }
3531
3532    pub fn add_position_offset_method_info() -> &'static ::unity::il2cpp::MethodInfo {
3533        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[3]
3534    }
3535
3536    pub fn add_rotation_offset_method_info() -> &'static ::unity::il2cpp::MethodInfo {
3537        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[4]
3538    }
3539
3540    pub fn add_rotation_offset_2_method_info() -> &'static ::unity::il2cpp::MethodInfo {
3541        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[5]
3542    }
3543
3544    pub fn add_platform_motion_method_info() -> &'static ::unity::il2cpp::MethodInfo {
3545        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[6]
3546    }
3547
3548    pub fn reset_method_info() -> &'static ::unity::il2cpp::MethodInfo {
3549        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[7]
3550    }
3551
3552    pub fn store_default_local_state_method_info() -> &'static ::unity::il2cpp::MethodInfo {
3553        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[8]
3554    }
3555
3556    pub fn fix_transforms_method_info() -> &'static ::unity::il2cpp::MethodInfo {
3557        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[9]
3558    }
3559
3560    pub fn get_points_method_info() -> &'static ::unity::il2cpp::MethodInfo {
3561        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[10]
3562    }
3563
3564    pub fn get_point_method_info() -> &'static ::unity::il2cpp::MethodInfo {
3565        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[11]
3566    }
3567
3568    pub fn is_valid_method_info() -> &'static ::unity::il2cpp::MethodInfo {
3569        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[12]
3570    }
3571
3572    pub fn get_normal_method_info() -> &'static ::unity::il2cpp::MethodInfo {
3573        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[13]
3574    }
3575
3576    pub fn get_sine_keyframes_method_info() -> &'static ::unity::il2cpp::MethodInfo {
3577        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[14]
3578    }
3579
3580    pub fn update_solver_transforms_method_info() -> &'static ::unity::il2cpp::MethodInfo {
3581        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[15]
3582    }
3583
3584    pub fn on_initiate_method_info() -> &'static ::unity::il2cpp::MethodInfo {
3585        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[16]
3586    }
3587
3588    pub fn on_update_method_info() -> &'static ::unity::il2cpp::MethodInfo {
3589        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[17]
3590    }
3591
3592    pub fn write_transforms_method_info() -> &'static ::unity::il2cpp::MethodInfo {
3593        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[18]
3594    }
3595
3596    pub fn read_method_info() -> &'static ::unity::il2cpp::MethodInfo {
3597        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[19]
3598    }
3599
3600    pub fn solve_method_info() -> &'static ::unity::il2cpp::MethodInfo {
3601        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[20]
3602    }
3603
3604    pub fn get_position_method_info() -> &'static ::unity::il2cpp::MethodInfo {
3605        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[21]
3606    }
3607
3608    pub fn get_rotation_method_info() -> &'static ::unity::il2cpp::MethodInfo {
3609        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[22]
3610    }
3611
3612    pub fn get_root_bone_method_info() -> &'static ::unity::il2cpp::MethodInfo {
3613        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[23]
3614    }
3615
3616    pub fn set_root_bone_method_info() -> &'static ::unity::il2cpp::MethodInfo {
3617        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[24]
3618    }
3619
3620    pub fn write_method_info() -> &'static ::unity::il2cpp::MethodInfo {
3621        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[25]
3622    }
3623
3624    pub fn get_pelvis_offset_method_info() -> &'static ::unity::il2cpp::MethodInfo {
3625        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[26]
3626    }
3627
3628    pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
3629        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[27]
3630    }
3631}
3632
3633#[cfg(feature = "root_motion-final_ik-iksolvervr")]
3634impl IKSolverVR {
3635    #[doc = "Direct (non-virtual) call to `IKSolverVR`'s own `StoreDefaultLocalState`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
3636    pub unsafe fn store_default_local_state(this: impl ::core::convert::Into<::unity::IlInstance>) -> () {
3637        let __mi = Self::store_default_local_state_method_info();
3638        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
3639        __inner(this.into(), ::core::option::Option::None)
3640    }
3641
3642    #[doc = "Direct (non-virtual) call to `IKSolverVR`'s own `FixTransforms`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
3643    pub unsafe fn fix_transforms(this: impl ::core::convert::Into<::unity::IlInstance>) -> () {
3644        let __mi = Self::fix_transforms_method_info();
3645        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
3646        __inner(this.into(), ::core::option::Option::None)
3647    }
3648
3649    #[doc = "Direct (non-virtual) call to `IKSolverVR`'s own `GetPoints`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
3650    pub unsafe fn get_points(
3651        this: impl ::core::convert::Into<::unity::IlInstance>,
3652    ) -> ::unity::Array<crate::root_motion::final_ik::iksolver::IKSolver_Point> {
3653        let __mi = Self::get_points_method_info();
3654        let __inner: extern "C" fn(
3655            ::unity::IlInstance,
3656            ::unity::OptionalMethod,
3657        ) -> ::unity::Array<crate::root_motion::final_ik::iksolver::IKSolver_Point> = ::core::mem::transmute(__mi.method_ptr);
3658        __inner(this.into(), ::core::option::Option::None)
3659    }
3660
3661    #[doc = "Direct (non-virtual) call to `IKSolverVR`'s own `GetPoint`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
3662    pub unsafe fn get_point(
3663        this: impl ::core::convert::Into<::unity::IlInstance>,
3664        transform: crate::unity_engine::transform::Transform,
3665    ) -> crate::root_motion::final_ik::iksolver::IKSolver_Point {
3666        let __mi = Self::get_point_method_info();
3667        let __inner: extern "C" fn(
3668            ::unity::IlInstance,
3669            crate::unity_engine::transform::Transform,
3670            ::unity::OptionalMethod,
3671        ) -> crate::root_motion::final_ik::iksolver::IKSolver_Point = ::core::mem::transmute(__mi.method_ptr);
3672        __inner(this.into(), transform, ::core::option::Option::None)
3673    }
3674
3675    #[doc = "Direct (non-virtual) call to `IKSolverVR`'s own `IsValid`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
3676    pub unsafe fn is_valid(this: impl ::core::convert::Into<::unity::IlInstance>, message: *mut ::unity::Il2CppString) -> bool {
3677        let __mi = Self::is_valid_method_info();
3678        let __inner: extern "C" fn(::unity::IlInstance, *mut ::unity::Il2CppString, ::unity::OptionalMethod) -> bool =
3679            ::core::mem::transmute(__mi.method_ptr);
3680        __inner(this.into(), message, ::core::option::Option::None)
3681    }
3682
3683    #[doc = "Direct (non-virtual) call to `IKSolverVR`'s own `OnInitiate`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
3684    pub unsafe fn on_initiate(this: impl ::core::convert::Into<::unity::IlInstance>) -> () {
3685        let __mi = Self::on_initiate_method_info();
3686        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
3687        __inner(this.into(), ::core::option::Option::None)
3688    }
3689
3690    #[doc = "Direct (non-virtual) call to `IKSolverVR`'s own `OnUpdate`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
3691    pub unsafe fn on_update(this: impl ::core::convert::Into<::unity::IlInstance>) -> () {
3692        let __mi = Self::on_update_method_info();
3693        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
3694        __inner(this.into(), ::core::option::Option::None)
3695    }
3696}
3697
3698#[cfg(feature = "root_motion-final_ik-iksolvervr")]
3699impl IKSolverVR {
3700    #[doc = "`.ctor()` — no args"]
3701    pub fn new() -> Self {
3702        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
3703            panic!(
3704                "{}
3705::{}
3706 failed to instantiate",
3707                ::core::stringify!(IKSolverVR),
3708                ::core::stringify!(new),
3709            )
3710        });
3711        <Self as IIKSolverVRMethods>::ctor(this);
3712        this
3713    }
3714}
3715
3716#[cfg(feature = "root_motion-final_ik-iksolvervr")]
3717pub trait IIKSolverVR_ArmMethods: IIKSolverVR_Arm {
3718    #[doc = "`get_position()` overload"]
3719    fn get_position(self) -> crate::unity_engine::vector3::Vector3 {
3720        unsafe {
3721            let __receiver = <IKSolverVR_Arm as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
3722            ::unity::il2cpp_call!((::unity::module_base()+0x2af2620usize)as*mut u8,crate::unity_engine::vector3::Vector3;
3723(IKSolverVR_Arm)__receiver)
3724        }
3725    }
3726    #[doc = "`set_position(crate::unity_engine::vector3::Vector3)` overload"]
3727    fn set_position(self, value: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>) -> () {
3728        unsafe {
3729            let __receiver = <IKSolverVR_Arm as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
3730            ::unity::il2cpp_call!((::unity::module_base()+0x2af2630usize)as*mut u8,();
3731(IKSolverVR_Arm)__receiver,(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(value))
3732        }
3733    }
3734    #[doc = "`get_rotation()` overload"]
3735    fn get_rotation(self) -> crate::unity_engine::quaternion::Quaternion {
3736        unsafe {
3737            let __receiver = <IKSolverVR_Arm as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
3738            ::unity::il2cpp_call!((::unity::module_base()+0x2af2640usize)as*mut u8,crate::unity_engine::quaternion::Quaternion;
3739(IKSolverVR_Arm)__receiver)
3740        }
3741    }
3742    #[doc = "`set_rotation(crate::unity_engine::quaternion::Quaternion)` overload"]
3743    fn set_rotation(self, value: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>) -> () {
3744        unsafe {
3745            let __receiver = <IKSolverVR_Arm as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
3746            ::unity::il2cpp_call!((::unity::module_base()+0x2af2650usize)as*mut u8,();
3747(IKSolverVR_Arm)__receiver,(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(value))
3748        }
3749    }
3750    #[doc = "`get_shoulder()` overload"]
3751    fn get_shoulder(self) -> crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone {
3752        unsafe {
3753            let __receiver = <IKSolverVR_Arm as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
3754            ::unity::il2cpp_call!((::unity::module_base()+0x2af2670usize)as*mut u8,crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone;
3755(IKSolverVR_Arm)__receiver)
3756        }
3757    }
3758    #[doc = "`get_upperArm()` overload"]
3759    fn get_upper_arm(self) -> crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone {
3760        unsafe {
3761            let __receiver = <IKSolverVR_Arm as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
3762            ::unity::il2cpp_call!((::unity::module_base()+0x2af26a0usize)as*mut u8,crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone;
3763(IKSolverVR_Arm)__receiver)
3764        }
3765    }
3766    #[doc = "`get_forearm()` overload"]
3767    fn get_forearm(self) -> crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone {
3768        unsafe {
3769            let __receiver = <IKSolverVR_Arm as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
3770            ::unity::il2cpp_call!((::unity::module_base()+0x2af26e0usize)as*mut u8,crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone;
3771(IKSolverVR_Arm)__receiver)
3772        }
3773    }
3774    #[doc = "`get_hand()` overload"]
3775    fn get_hand(self) -> crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone {
3776        unsafe {
3777            let __receiver = <IKSolverVR_Arm as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
3778            ::unity::il2cpp_call!((::unity::module_base()+0x2af2730usize)as*mut u8,crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone;
3779(IKSolverVR_Arm)__receiver)
3780        }
3781    }
3782    #[doc = "`OnRead(::unity::Array<crate::unity_engine::vector3::Vector3>, ::unity::Array<crate::unity_engine::quaternion::Quaternion>, bool, bool, bool, bool, bool, i32, i32)` overload"]
3783    fn on_read(
3784        self,
3785        positions: impl ::core::convert::Into<::unity::Array<crate::unity_engine::vector3::Vector3>>,
3786        rotations: impl ::core::convert::Into<::unity::Array<crate::unity_engine::quaternion::Quaternion>>,
3787        has_chest: impl ::core::convert::Into<bool>,
3788        has_neck: impl ::core::convert::Into<bool>,
3789        has_shoulders: impl ::core::convert::Into<bool>,
3790        has_toes: impl ::core::convert::Into<bool>,
3791        has_legs: impl ::core::convert::Into<bool>,
3792        root_index: impl ::core::convert::Into<i32>,
3793        index: impl ::core::convert::Into<i32>,
3794    ) -> () {
3795        unsafe {
3796            let __receiver = <IKSolverVR_Arm as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
3797            {
3798                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
3799                let __vi = *__vt.get(4usize).unwrap_or_else(|| {
3800                    panic!(
3801                        "unity: virtual slot {}
3802 out of range (vtable len {}
3803) on the runtime class behind {}
3804 (method `{}
3805`)",
3806                        4usize,
3807                        __vt.len(),
3808                        <IKSolverVR_Arm as ::unity::ClassIdentity>::NAME,
3809                        "OnRead",
3810                    )
3811                });
3812                let __inner: extern "C" fn(
3813                    IKSolverVR_Arm,
3814                    ::unity::Array<crate::unity_engine::vector3::Vector3>,
3815                    ::unity::Array<crate::unity_engine::quaternion::Quaternion>,
3816                    bool,
3817                    bool,
3818                    bool,
3819                    bool,
3820                    bool,
3821                    i32,
3822                    i32,
3823                    ::unity::OptionalMethod,
3824                ) -> () = ::core::mem::transmute(__vi.method_ptr);
3825                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
3826                __inner(
3827                    __receiver,
3828                    ::core::convert::Into::into(positions),
3829                    ::core::convert::Into::into(rotations),
3830                    ::core::convert::Into::into(has_chest),
3831                    ::core::convert::Into::into(has_neck),
3832                    ::core::convert::Into::into(has_shoulders),
3833                    ::core::convert::Into::into(has_toes),
3834                    ::core::convert::Into::into(has_legs),
3835                    ::core::convert::Into::into(root_index),
3836                    ::core::convert::Into::into(index),
3837                    __mi,
3838                )
3839            }
3840        }
3841    }
3842    #[doc = "`PreSolve()` overload"]
3843    fn pre_solve(self) -> () {
3844        unsafe {
3845            let __receiver = <IKSolverVR_Arm as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
3846            {
3847                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
3848                let __vi = *__vt.get(5usize).unwrap_or_else(|| {
3849                    panic!(
3850                        "unity: virtual slot {}
3851 out of range (vtable len {}
3852) on the runtime class behind {}
3853 (method `{}
3854`)",
3855                        5usize,
3856                        __vt.len(),
3857                        <IKSolverVR_Arm as ::unity::ClassIdentity>::NAME,
3858                        "PreSolve",
3859                    )
3860                });
3861                let __inner: extern "C" fn(IKSolverVR_Arm, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
3862                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
3863                __inner(__receiver, __mi)
3864            }
3865        }
3866    }
3867    #[doc = "`ApplyOffsets(f32)` overload"]
3868    fn apply_offsets(self, scale: impl ::core::convert::Into<f32>) -> () {
3869        unsafe {
3870            let __receiver = <IKSolverVR_Arm as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
3871            {
3872                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
3873                let __vi = *__vt.get(7usize).unwrap_or_else(|| {
3874                    panic!(
3875                        "unity: virtual slot {}
3876 out of range (vtable len {}
3877) on the runtime class behind {}
3878 (method `{}
3879`)",
3880                        7usize,
3881                        __vt.len(),
3882                        <IKSolverVR_Arm as ::unity::ClassIdentity>::NAME,
3883                        "ApplyOffsets",
3884                    )
3885                });
3886                let __inner: extern "C" fn(IKSolverVR_Arm, f32, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
3887                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
3888                __inner(__receiver, ::core::convert::Into::into(scale), __mi)
3889            }
3890        }
3891    }
3892    #[doc = "`Stretching()` overload"]
3893    fn stretching(self) -> () {
3894        unsafe {
3895            let __receiver = <IKSolverVR_Arm as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
3896            ::unity::il2cpp_call!((::unity::module_base()+0x2af31e0usize)as*mut u8,();
3897(IKSolverVR_Arm)__receiver)
3898        }
3899    }
3900    #[doc = "`Solve(bool)` overload"]
3901    fn solve(self, is_left: impl ::core::convert::Into<bool>) -> () {
3902        unsafe {
3903            let __receiver = <IKSolverVR_Arm as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
3904            ::unity::il2cpp_call!((::unity::module_base()+0x2af34d0usize)as*mut u8,();
3905(IKSolverVR_Arm)__receiver,(bool)::core::convert::Into::into(is_left))
3906        }
3907    }
3908    #[doc = "`ResetOffsets()` overload"]
3909    fn reset_offsets(self) -> () {
3910        unsafe {
3911            let __receiver = <IKSolverVR_Arm as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
3912            {
3913                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
3914                let __vi = *__vt.get(8usize).unwrap_or_else(|| {
3915                    panic!(
3916                        "unity: virtual slot {}
3917 out of range (vtable len {}
3918) on the runtime class behind {}
3919 (method `{}
3920`)",
3921                        8usize,
3922                        __vt.len(),
3923                        <IKSolverVR_Arm as ::unity::ClassIdentity>::NAME,
3924                        "ResetOffsets",
3925                    )
3926                });
3927                let __inner: extern "C" fn(IKSolverVR_Arm, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
3928                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
3929                __inner(__receiver, __mi)
3930            }
3931        }
3932    }
3933    #[doc = "`Write(*mut::unity::Array<crate::unity_engine::vector3::Vector3>, *mut::unity::Array<crate::unity_engine::quaternion::Quaternion>)` overload"]
3934    fn write(
3935        self,
3936    ) -> (
3937        ::unity::Array<crate::unity_engine::vector3::Vector3>,
3938        ::unity::Array<crate::unity_engine::quaternion::Quaternion>,
3939    ) {
3940        unsafe {
3941            let __receiver = <IKSolverVR_Arm as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
3942            let mut __out_0 = ::core::mem::MaybeUninit::<::unity::Array<crate::unity_engine::vector3::Vector3>>::uninit();
3943            let mut __out_1 = ::core::mem::MaybeUninit::<::unity::Array<crate::unity_engine::quaternion::Quaternion>>::uninit();
3944            {
3945                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
3946                let __vi = *__vt.get(6usize).unwrap_or_else(|| {
3947                    panic!(
3948                        "unity: virtual slot {}
3949 out of range (vtable len {}
3950) on the runtime class behind {}
3951 (method `{}
3952`)",
3953                        6usize,
3954                        __vt.len(),
3955                        <IKSolverVR_Arm as ::unity::ClassIdentity>::NAME,
3956                        "Write",
3957                    )
3958                });
3959                let __inner: extern "C" fn(
3960                    IKSolverVR_Arm,
3961                    *mut ::unity::Array<crate::unity_engine::vector3::Vector3>,
3962                    *mut ::unity::Array<crate::unity_engine::quaternion::Quaternion>,
3963                    ::unity::OptionalMethod,
3964                ) -> () = ::core::mem::transmute(__vi.method_ptr);
3965                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
3966                __inner(__receiver, __out_0.as_mut_ptr(), __out_1.as_mut_ptr(), __mi)
3967            };
3968            (__out_0.assume_init(), __out_1.assume_init())
3969        }
3970    }
3971    #[doc = "`DamperValue(f32, f32, f32, f32)` overload"]
3972    fn damper_value(
3973        self,
3974        value: impl ::core::convert::Into<f32>,
3975        min: impl ::core::convert::Into<f32>,
3976        max: impl ::core::convert::Into<f32>,
3977        weight: impl ::core::convert::Into<f32>,
3978    ) -> f32 {
3979        unsafe {
3980            let __receiver = <IKSolverVR_Arm as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
3981            ::unity::il2cpp_call!((::unity::module_base()+0x2af45d0usize)as*mut u8,f32;
3982(IKSolverVR_Arm)__receiver,(f32)::core::convert::Into::into(value),(f32)::core::convert::Into::into(min),(f32)::core::convert::Into::into(max),(f32)::core::convert::Into::into(weight))
3983        }
3984    }
3985    #[doc = "`GetBendNormal(crate::unity_engine::vector3::Vector3)` overload"]
3986    fn get_bend_normal(self, dir: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>) -> crate::unity_engine::vector3::Vector3 {
3987        unsafe {
3988            let __receiver = <IKSolverVR_Arm as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
3989            ::unity::il2cpp_call!((::unity::module_base()+0x2af4650usize)as*mut u8,crate::unity_engine::vector3::Vector3;
3990(IKSolverVR_Arm)__receiver,(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(dir))
3991        }
3992    }
3993    #[doc = "`Visualize(crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone, crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone, crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone, crate::unity_engine::color::Color)` overload"]
3994    fn visualize(
3995        self,
3996        bone1: impl ::core::convert::Into<crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone>,
3997        bone2: impl ::core::convert::Into<crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone>,
3998        bone3: impl ::core::convert::Into<crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone>,
3999        color: impl ::core::convert::Into<crate::unity_engine::color::Color>,
4000    ) -> () {
4001        unsafe {
4002            let __receiver = <IKSolverVR_Arm as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
4003            ::unity::il2cpp_call!((::unity::module_base()+0x2af4e40usize)as*mut u8,();
4004(IKSolverVR_Arm)__receiver,(crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone)::core::convert::Into::into(bone1),(crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone)::core::convert::Into::into(bone2),(crate::root_motion::final_ik::iksolvervr::IKSolverVR_VirtualBone)::core::convert::Into::into(bone3),(crate::unity_engine::color::Color)::core::convert::Into::into(color))
4005        }
4006    }
4007    #[doc = "`.ctor()` overload"]
4008    fn ctor(self) -> () {
4009        unsafe {
4010            let __receiver = <IKSolverVR_Arm as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
4011            ::unity::il2cpp_call!((::unity::module_base()+0x2af4e50usize)as*mut u8,();
4012(IKSolverVR_Arm)__receiver)
4013        }
4014    }
4015}
4016
4017#[cfg(feature = "root_motion-final_ik-iksolvervr")]
4018impl<__T: IIKSolverVR_Arm> IIKSolverVR_ArmMethods for __T {}
4019
4020#[cfg(feature = "root_motion-final_ik-iksolvervr")]
4021impl IKSolverVR_Arm {
4022    pub fn get_position_method_info() -> &'static ::unity::il2cpp::MethodInfo {
4023        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
4024    }
4025
4026    pub fn set_position_method_info() -> &'static ::unity::il2cpp::MethodInfo {
4027        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
4028    }
4029
4030    pub fn get_rotation_method_info() -> &'static ::unity::il2cpp::MethodInfo {
4031        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
4032    }
4033
4034    pub fn set_rotation_method_info() -> &'static ::unity::il2cpp::MethodInfo {
4035        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[3]
4036    }
4037
4038    pub fn get_shoulder_method_info() -> &'static ::unity::il2cpp::MethodInfo {
4039        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[4]
4040    }
4041
4042    pub fn get_upper_arm_method_info() -> &'static ::unity::il2cpp::MethodInfo {
4043        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[5]
4044    }
4045
4046    pub fn get_forearm_method_info() -> &'static ::unity::il2cpp::MethodInfo {
4047        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[6]
4048    }
4049
4050    pub fn get_hand_method_info() -> &'static ::unity::il2cpp::MethodInfo {
4051        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[7]
4052    }
4053
4054    pub fn on_read_method_info() -> &'static ::unity::il2cpp::MethodInfo {
4055        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[8]
4056    }
4057
4058    pub fn pre_solve_method_info() -> &'static ::unity::il2cpp::MethodInfo {
4059        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[9]
4060    }
4061
4062    pub fn apply_offsets_method_info() -> &'static ::unity::il2cpp::MethodInfo {
4063        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[10]
4064    }
4065
4066    pub fn stretching_method_info() -> &'static ::unity::il2cpp::MethodInfo {
4067        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[11]
4068    }
4069
4070    pub fn solve_method_info() -> &'static ::unity::il2cpp::MethodInfo {
4071        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[12]
4072    }
4073
4074    pub fn reset_offsets_method_info() -> &'static ::unity::il2cpp::MethodInfo {
4075        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[13]
4076    }
4077
4078    pub fn write_method_info() -> &'static ::unity::il2cpp::MethodInfo {
4079        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[14]
4080    }
4081
4082    pub fn damper_value_method_info() -> &'static ::unity::il2cpp::MethodInfo {
4083        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[15]
4084    }
4085
4086    pub fn get_bend_normal_method_info() -> &'static ::unity::il2cpp::MethodInfo {
4087        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[16]
4088    }
4089
4090    pub fn visualize_method_info() -> &'static ::unity::il2cpp::MethodInfo {
4091        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[17]
4092    }
4093
4094    pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
4095        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[18]
4096    }
4097}
4098
4099#[cfg(feature = "root_motion-final_ik-iksolvervr")]
4100impl IKSolverVR_Arm {
4101    #[doc = "Direct (non-virtual) call to `IKSolverVR_Arm`'s own `OnRead`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
4102    pub unsafe fn on_read(
4103        this: impl ::core::convert::Into<::unity::IlInstance>,
4104        positions: ::unity::Array<crate::unity_engine::vector3::Vector3>,
4105        rotations: ::unity::Array<crate::unity_engine::quaternion::Quaternion>,
4106        has_chest: bool,
4107        has_neck: bool,
4108        has_shoulders: bool,
4109        has_toes: bool,
4110        has_legs: bool,
4111        root_index: i32,
4112        index: i32,
4113    ) -> () {
4114        let __mi = Self::on_read_method_info();
4115        let __inner: extern "C" fn(
4116            ::unity::IlInstance,
4117            ::unity::Array<crate::unity_engine::vector3::Vector3>,
4118            ::unity::Array<crate::unity_engine::quaternion::Quaternion>,
4119            bool,
4120            bool,
4121            bool,
4122            bool,
4123            bool,
4124            i32,
4125            i32,
4126            ::unity::OptionalMethod,
4127        ) -> () = ::core::mem::transmute(__mi.method_ptr);
4128        __inner(
4129            this.into(),
4130            positions,
4131            rotations,
4132            has_chest,
4133            has_neck,
4134            has_shoulders,
4135            has_toes,
4136            has_legs,
4137            root_index,
4138            index,
4139            ::core::option::Option::None,
4140        )
4141    }
4142
4143    #[doc = "Direct (non-virtual) call to `IKSolverVR_Arm`'s own `PreSolve`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
4144    pub unsafe fn pre_solve(this: impl ::core::convert::Into<::unity::IlInstance>) -> () {
4145        let __mi = Self::pre_solve_method_info();
4146        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
4147        __inner(this.into(), ::core::option::Option::None)
4148    }
4149
4150    #[doc = "Direct (non-virtual) call to `IKSolverVR_Arm`'s own `ApplyOffsets`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
4151    pub unsafe fn apply_offsets(this: impl ::core::convert::Into<::unity::IlInstance>, scale: f32) -> () {
4152        let __mi = Self::apply_offsets_method_info();
4153        let __inner: extern "C" fn(::unity::IlInstance, f32, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
4154        __inner(this.into(), scale, ::core::option::Option::None)
4155    }
4156
4157    #[doc = "Direct (non-virtual) call to `IKSolverVR_Arm`'s own `ResetOffsets`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
4158    pub unsafe fn reset_offsets(this: impl ::core::convert::Into<::unity::IlInstance>) -> () {
4159        let __mi = Self::reset_offsets_method_info();
4160        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
4161        __inner(this.into(), ::core::option::Option::None)
4162    }
4163
4164    #[doc = "Direct (non-virtual) call to `IKSolverVR_Arm`'s own `Write`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
4165    pub unsafe fn write(
4166        this: impl ::core::convert::Into<::unity::IlInstance>,
4167        solved_positions: *mut ::unity::Array<crate::unity_engine::vector3::Vector3>,
4168        solved_rotations: *mut ::unity::Array<crate::unity_engine::quaternion::Quaternion>,
4169    ) -> () {
4170        let __mi = Self::write_method_info();
4171        let __inner: extern "C" fn(
4172            ::unity::IlInstance,
4173            *mut ::unity::Array<crate::unity_engine::vector3::Vector3>,
4174            *mut ::unity::Array<crate::unity_engine::quaternion::Quaternion>,
4175            ::unity::OptionalMethod,
4176        ) -> () = ::core::mem::transmute(__mi.method_ptr);
4177        __inner(this.into(), solved_positions, solved_rotations, ::core::option::Option::None)
4178    }
4179}
4180
4181#[cfg(feature = "root_motion-final_ik-iksolvervr")]
4182impl IKSolverVR_Arm {
4183    #[doc = "`.ctor()` — no args"]
4184    pub fn new() -> Self {
4185        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
4186            panic!(
4187                "{}
4188::{}
4189 failed to instantiate",
4190                ::core::stringify!(IKSolverVR_Arm),
4191                ::core::stringify!(new),
4192            )
4193        });
4194        <Self as IIKSolverVR_ArmMethods>::ctor(this);
4195        this
4196    }
4197}
4198
4199#[cfg(feature = "root_motion-final_ik-iksolvervr")]
4200#[doc(hidden)]
4201pub mod prelude {
4202    pub use super::{
4203        IIKSolverVR, IIKSolverVRMethods, IIKSolverVR_Arm, IIKSolverVR_ArmMethods, IIKSolverVR_BodyPart, IIKSolverVR_BodyPartMethods,
4204        IIKSolverVR_Footstep, IIKSolverVR_FootstepMethods, IIKSolverVR_Leg, IIKSolverVR_LegMethods, IIKSolverVR_Locomotion,
4205        IIKSolverVR_LocomotionMethods, IIKSolverVR_Spine, IIKSolverVR_SpineMethods, IIKSolverVR_VirtualBone, IIKSolverVR_VirtualBoneMethods,
4206        IKSolverVR, IKSolverVR_Arm, IKSolverVR_Arm_ShoulderRotationMode, IKSolverVR_BodyPart, IKSolverVR_Footstep, IKSolverVR_Leg,
4207        IKSolverVR_Locomotion, IKSolverVR_PositionOffset, IKSolverVR_RotationOffset, IKSolverVR_Spine, IKSolverVR_VirtualBone,
4208    };
4209    #[cfg(feature = "root_motion-final_ik-iksolver")]
4210    pub use crate::root_motion::final_ik::iksolver::IIKSolverMethods;
4211    #[cfg(feature = "system-object")]
4212    pub use crate::system::object::IObjectMethods;
4213    #[cfg(feature = "system-enum")]
4214    pub use crate::system::r#enum::IEnumMethods;
4215    #[cfg(feature = "system-valuetype")]
4216    pub use crate::system::valuetype::IValueTypeMethods;
4217    pub use crate::{
4218        root_motion::final_ik::iksolver::{IIKSolver, IKSolver},
4219        system::{object::IObject, r#enum::IEnum, valuetype::IValueType},
4220    };
4221}