engage/generated/root_motion/final_ik/
iksolveraim.rs1#[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}