Skip to main content

engage/generated/root_motion/final_ik/
iksolveraim.rs

1// @generated by il2cpp-bindgen — do not edit by hand.
2
3#[cfg(feature = "root_motion-final_ik-iksolveraim-types")]
4mod __types {
5    #[allow(unused_imports)] use ::unity::prelude::*;
6
7    use super::*;
8    use crate::{
9        root_motion::final_ik::{
10            iksolver::{IIKSolver, IKSolver},
11            iksolverheuristic::{IIKSolverHeuristic, IKSolverHeuristic},
12        },
13        system::object::{IObject, Object},
14    };
15
16    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/root_motion/final_ik/iksolveraim/IKSolverAim.md"))]
17    #[::unity::class(namespace = "RootMotion.FinalIK", name = "IKSolverAim")]
18    #[parent(crate::root_motion::final_ik::iksolverheuristic::IKSolverHeuristic)]
19    pub struct IKSolverAim {
20        #[offset(136)]
21        #[rename(name = "transform")]
22        pub transform: crate::unity_engine::transform::Transform,
23        #[offset(144)]
24        #[rename(name = "axis")]
25        pub axis: crate::unity_engine::vector3::Vector3,
26        #[offset(156)]
27        #[rename(name = "poleAxis")]
28        pub pole_axis: crate::unity_engine::vector3::Vector3,
29        #[offset(168)]
30        #[rename(name = "polePosition")]
31        pub pole_position: crate::unity_engine::vector3::Vector3,
32        #[offset(180)]
33        #[rename(name = "poleWeight")]
34        pub pole_weight: f32,
35        #[offset(184)]
36        #[rename(name = "poleTarget")]
37        pub pole_target: crate::unity_engine::transform::Transform,
38        #[offset(192)]
39        #[rename(name = "clampWeight")]
40        pub clamp_weight: f32,
41        #[offset(196)]
42        #[rename(name = "clampSmoothing")]
43        pub clamp_smoothing: i32,
44        #[offset(200)]
45        #[rename(name = "OnPreIteration")]
46        pub on_pre_iteration: crate::root_motion::final_ik::iksolver::IKSolver_IterationDelegate,
47        #[offset(208)]
48        #[rename(name = "step")]
49        pub step: f32,
50        #[offset(212)]
51        #[rename(name = "clampedIKPosition")]
52        pub clamped_ik_position: crate::unity_engine::vector3::Vector3,
53        #[offset(224)]
54        #[rename(name = "transformLimit")]
55        pub transform_limit: crate::root_motion::final_ik::rotationlimit::RotationLimit,
56        #[offset(232)]
57        #[rename(name = "lastTransform")]
58        pub last_transform: crate::unity_engine::transform::Transform,
59    }
60}
61
62#[cfg(feature = "root_motion-final_ik-iksolveraim-types")]
63pub use __types::*;
64
65#[cfg(feature = "root_motion-final_ik-iksolveraim")]
66pub trait IIKSolverAimMethods: IIKSolverAim {
67    #[doc = "`GetAngle()` overload"]
68    fn get_angle(self) -> f32 {
69        unsafe {
70            let __receiver = <IKSolverAim as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
71            ::unity::il2cpp_call!((::unity::module_base()+0x3c268f0usize)as*mut u8,f32;
72(IKSolverAim)__receiver)
73        }
74    }
75    #[doc = "`get_transformAxis()` overload"]
76    fn get_transform_axis(self) -> crate::unity_engine::vector3::Vector3 {
77        unsafe {
78            let __receiver = <IKSolverAim as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
79            ::unity::il2cpp_call!((::unity::module_base()+0x3c26980usize)as*mut u8,crate::unity_engine::vector3::Vector3;
80(IKSolverAim)__receiver)
81        }
82    }
83    #[doc = "`get_transformPoleAxis()` overload"]
84    fn get_transform_pole_axis(self) -> crate::unity_engine::vector3::Vector3 {
85        unsafe {
86            let __receiver = <IKSolverAim as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
87            ::unity::il2cpp_call!((::unity::module_base()+0x3c269c0usize)as*mut u8,crate::unity_engine::vector3::Vector3;
88(IKSolverAim)__receiver)
89        }
90    }
91    #[doc = "`OnInitiate()` overload"]
92    fn on_initiate(self) -> () {
93        unsafe {
94            let __receiver = <IKSolverAim as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
95            {
96                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
97                let __vi = *__vt.get(10usize).unwrap_or_else(|| {
98                    panic!(
99                        "unity: virtual slot {}
100 out of range (vtable len {}
101) on the runtime class behind {}
102 (method `{}
103`)",
104                        10usize,
105                        __vt.len(),
106                        <IKSolverAim as ::unity::ClassIdentity>::NAME,
107                        "OnInitiate",
108                    )
109                });
110                let __inner: extern "C" fn(IKSolverAim, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
111                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
112                __inner(__receiver, __mi)
113            }
114        }
115    }
116    #[doc = "`OnUpdate()` overload"]
117    fn on_update(self) -> () {
118        unsafe {
119            let __receiver = <IKSolverAim as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
120            {
121                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
122                let __vi = *__vt.get(11usize).unwrap_or_else(|| {
123                    panic!(
124                        "unity: virtual slot {}
125 out of range (vtable len {}
126) on the runtime class behind {}
127 (method `{}
128`)",
129                        11usize,
130                        __vt.len(),
131                        <IKSolverAim as ::unity::ClassIdentity>::NAME,
132                        "OnUpdate",
133                    )
134                });
135                let __inner: extern "C" fn(IKSolverAim, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
136                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
137                __inner(__receiver, __mi)
138            }
139        }
140    }
141    #[doc = "`get_minBones()` overload"]
142    fn get_min_bones(self) -> i32 {
143        unsafe {
144            let __receiver = <IKSolverAim as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
145            {
146                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
147                let __vi = *__vt.get(12usize).unwrap_or_else(|| {
148                    panic!(
149                        "unity: virtual slot {}
150 out of range (vtable len {}
151) on the runtime class behind {}
152 (method `{}
153`)",
154                        12usize,
155                        __vt.len(),
156                        <IKSolverAim as ::unity::ClassIdentity>::NAME,
157                        "get_minBones",
158                    )
159                });
160                let __inner: extern "C" fn(IKSolverAim, ::unity::OptionalMethod) -> i32 = ::core::mem::transmute(__vi.method_ptr);
161                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
162                __inner(__receiver, __mi)
163            }
164        }
165    }
166    #[doc = "`Solve()` overload"]
167    fn solve(self) -> () {
168        unsafe {
169            let __receiver = <IKSolverAim as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
170            ::unity::il2cpp_call!((::unity::module_base()+0x3c27450usize)as*mut u8,();
171(IKSolverAim)__receiver)
172        }
173    }
174    #[doc = "`GetClampedIKPosition()` overload"]
175    fn get_clamped_ik_position(self) -> crate::unity_engine::vector3::Vector3 {
176        unsafe {
177            let __receiver = <IKSolverAim as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
178            ::unity::il2cpp_call!((::unity::module_base()+0x3c271a0usize)as*mut u8,crate::unity_engine::vector3::Vector3;
179(IKSolverAim)__receiver)
180        }
181    }
182    #[doc = "`RotateToTarget(crate::unity_engine::vector3::Vector3, crate::root_motion::final_ik::iksolver::IKSolver_Bone, f32)` overload"]
183    fn rotate_to_target(
184        self,
185        target_position: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
186        bone: impl ::core::convert::Into<crate::root_motion::final_ik::iksolver::IKSolver_Bone>,
187        weight: impl ::core::convert::Into<f32>,
188    ) -> () {
189        unsafe {
190            let __receiver = <IKSolverAim as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
191            ::unity::il2cpp_call!((::unity::module_base()+0x3c27520usize)as*mut u8,();
192(IKSolverAim)__receiver,(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(target_position),(crate::root_motion::final_ik::iksolver::IKSolver_Bone)::core::convert::Into::into(bone),(f32)::core::convert::Into::into(weight))
193        }
194    }
195    #[doc = "`get_localDirection()` overload"]
196    fn get_local_direction(self) -> crate::unity_engine::vector3::Vector3 {
197        unsafe {
198            let __receiver = <IKSolverAim as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
199            {
200                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
201                let __vi = *__vt.get(15usize).unwrap_or_else(|| {
202                    panic!(
203                        "unity: virtual slot {}
204 out of range (vtable len {}
205) on the runtime class behind {}
206 (method `{}
207`)",
208                        15usize,
209                        __vt.len(),
210                        <IKSolverAim as ::unity::ClassIdentity>::NAME,
211                        "get_localDirection",
212                    )
213                });
214                let __inner: extern "C" fn(IKSolverAim, ::unity::OptionalMethod) -> crate::unity_engine::vector3::Vector3 =
215                    ::core::mem::transmute(__vi.method_ptr);
216                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
217                __inner(__receiver, __mi)
218            }
219        }
220    }
221    #[doc = "`.ctor()` overload"]
222    fn ctor(self) -> () {
223        unsafe {
224            let __receiver = <IKSolverAim as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
225            ::unity::il2cpp_call!((::unity::module_base()+0x3c27950usize)as*mut u8,();
226(IKSolverAim)__receiver)
227        }
228    }
229}
230
231#[cfg(feature = "root_motion-final_ik-iksolveraim")]
232impl<__T: IIKSolverAim> IIKSolverAimMethods for __T {}
233
234#[cfg(feature = "root_motion-final_ik-iksolveraim")]
235impl IKSolverAim {
236    pub fn get_angle_method_info() -> &'static ::unity::il2cpp::MethodInfo {
237        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
238    }
239
240    pub fn get_transform_axis_method_info() -> &'static ::unity::il2cpp::MethodInfo {
241        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
242    }
243
244    pub fn get_transform_pole_axis_method_info() -> &'static ::unity::il2cpp::MethodInfo {
245        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
246    }
247
248    pub fn on_initiate_method_info() -> &'static ::unity::il2cpp::MethodInfo {
249        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[3]
250    }
251
252    pub fn on_update_method_info() -> &'static ::unity::il2cpp::MethodInfo {
253        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[4]
254    }
255
256    pub fn get_min_bones_method_info() -> &'static ::unity::il2cpp::MethodInfo {
257        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[5]
258    }
259
260    pub fn solve_method_info() -> &'static ::unity::il2cpp::MethodInfo {
261        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[6]
262    }
263
264    pub fn get_clamped_ik_position_method_info() -> &'static ::unity::il2cpp::MethodInfo {
265        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[7]
266    }
267
268    pub fn rotate_to_target_method_info() -> &'static ::unity::il2cpp::MethodInfo {
269        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[8]
270    }
271
272    pub fn get_local_direction_method_info() -> &'static ::unity::il2cpp::MethodInfo {
273        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[9]
274    }
275
276    pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
277        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[10]
278    }
279}
280
281#[cfg(feature = "root_motion-final_ik-iksolveraim")]
282impl IKSolverAim {
283    #[doc = "Direct (non-virtual) call to `IKSolverAim`'s own `OnInitiate`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
284    pub unsafe fn on_initiate(this: impl ::core::convert::Into<::unity::IlInstance>) -> () {
285        let __mi = Self::on_initiate_method_info();
286        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
287        __inner(this.into(), ::core::option::Option::None)
288    }
289
290    #[doc = "Direct (non-virtual) call to `IKSolverAim`'s own `OnUpdate`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
291    pub unsafe fn on_update(this: impl ::core::convert::Into<::unity::IlInstance>) -> () {
292        let __mi = Self::on_update_method_info();
293        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
294        __inner(this.into(), ::core::option::Option::None)
295    }
296
297    #[doc = "Direct (non-virtual) call to `IKSolverAim`'s own `get_minBones`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
298    pub unsafe fn get_min_bones(this: impl ::core::convert::Into<::unity::IlInstance>) -> i32 {
299        let __mi = Self::get_min_bones_method_info();
300        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> i32 = ::core::mem::transmute(__mi.method_ptr);
301        __inner(this.into(), ::core::option::Option::None)
302    }
303
304    #[doc = "Direct (non-virtual) call to `IKSolverAim`'s own `get_localDirection`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
305    pub unsafe fn get_local_direction(this: impl ::core::convert::Into<::unity::IlInstance>) -> crate::unity_engine::vector3::Vector3 {
306        let __mi = Self::get_local_direction_method_info();
307        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> crate::unity_engine::vector3::Vector3 =
308            ::core::mem::transmute(__mi.method_ptr);
309        __inner(this.into(), ::core::option::Option::None)
310    }
311}
312
313#[cfg(feature = "root_motion-final_ik-iksolveraim")]
314impl IKSolverAim {
315    #[doc = "`.ctor()` — no args"]
316    pub fn new() -> Self {
317        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
318            panic!(
319                "{}
320::{}
321 failed to instantiate",
322                ::core::stringify!(IKSolverAim),
323                ::core::stringify!(new),
324            )
325        });
326        <Self as IIKSolverAimMethods>::ctor(this);
327        this
328    }
329}
330
331#[cfg(feature = "root_motion-final_ik-iksolveraim")]
332#[doc(hidden)]
333pub mod prelude {
334    pub use super::{IIKSolverAim, IIKSolverAimMethods, IKSolverAim};
335    #[cfg(feature = "root_motion-final_ik-iksolver")]
336    pub use crate::root_motion::final_ik::iksolver::IIKSolverMethods;
337    #[cfg(feature = "root_motion-final_ik-iksolverheuristic")]
338    pub use crate::root_motion::final_ik::iksolverheuristic::IIKSolverHeuristicMethods;
339    #[cfg(feature = "system-object")]
340    pub use crate::system::object::IObjectMethods;
341    pub use crate::{
342        root_motion::final_ik::{
343            iksolver::{IIKSolver, IKSolver},
344            iksolverheuristic::{IIKSolverHeuristic, IKSolverHeuristic},
345        },
346        system::object::IObject,
347    };
348}