engage/generated/root_motion/final_ik/
iksolverfabrikroot.rs1#[cfg(feature = "root_motion-final_ik-iksolverfabrikroot-types")]
4mod __types {
5 #[allow(unused_imports)] use ::unity::prelude::*;
6
7 use super::*;
8 use crate::{
9 root_motion::final_ik::iksolver::{IIKSolver, IKSolver},
10 system::object::{IObject, Object},
11 };
12
13 #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/root_motion/final_ik/iksolverfabrikroot/IKSolverFABRIKRoot.md"))]
14 #[::unity::class(namespace = "RootMotion.FinalIK", name = "IKSolverFABRIKRoot")]
15 #[parent(crate::root_motion::final_ik::iksolver::IKSolver)]
16 pub struct IKSolverFABRIKRoot {
17 #[offset(88)]
18 #[rename(name = "iterations")]
19 pub iterations: i32,
20 #[offset(92)]
21 #[rename(name = "rootPin")]
22 pub root_pin: f32,
23 #[offset(96)]
24 #[rename(name = "chains")]
25 pub chains: ::unity::Array<crate::root_motion::final_ik::fabrikchain::FABRIKChain>,
26 #[offset(104)]
27 #[rename(name = "zeroWeightApplied")]
28 pub zero_weight_applied: bool,
29 #[offset(112)]
30 #[rename(name = "isRoot")]
31 pub is_root_field: ::unity::Array<bool>,
32 #[offset(120)]
33 #[rename(name = "rootDefaultPosition")]
34 pub root_default_position: crate::unity_engine::vector3::Vector3,
35 }
36}
37
38#[cfg(feature = "root_motion-final_ik-iksolverfabrikroot-types")]
39pub use __types::*;
40
41#[cfg(feature = "root_motion-final_ik-iksolverfabrikroot")]
42pub trait IIKSolverFABRIKRootMethods: IIKSolverFABRIKRoot {
43 #[doc = "`IsValid(*mut::unity::Il2CppString)` overload"]
44 fn is_valid(self) -> (bool, ::unity::Il2CppString) {
45 unsafe {
46 let __receiver = <IKSolverFABRIKRoot as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
47 let mut __out_0 = ::core::mem::MaybeUninit::<::unity::Il2CppString>::uninit();
48 let __ret = {
49 {
50 let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
51 let __vi = *__vt.get(4usize).unwrap_or_else(|| {
52 panic!(
53 "unity: virtual slot {}
54 out of range (vtable len {}
55) on the runtime class behind {}
56 (method `{}
57`)",
58 4usize,
59 __vt.len(),
60 <IKSolverFABRIKRoot as ::unity::ClassIdentity>::NAME,
61 "IsValid",
62 )
63 });
64 let __inner: extern "C" fn(IKSolverFABRIKRoot, *mut ::unity::Il2CppString, ::unity::OptionalMethod) -> bool =
65 ::core::mem::transmute(__vi.method_ptr);
66 let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
67 __inner(__receiver, __out_0.as_mut_ptr(), __mi)
68 }
69 };
70 (__ret, __out_0.assume_init())
71 }
72 }
73 #[doc = "`StoreDefaultLocalState()` overload"]
74 fn store_default_local_state(self) -> () {
75 unsafe {
76 let __receiver = <IKSolverFABRIKRoot as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
77 {
78 let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
79 let __vi = *__vt.get(9usize).unwrap_or_else(|| {
80 panic!(
81 "unity: virtual slot {}
82 out of range (vtable len {}
83) on the runtime class behind {}
84 (method `{}
85`)",
86 9usize,
87 __vt.len(),
88 <IKSolverFABRIKRoot as ::unity::ClassIdentity>::NAME,
89 "StoreDefaultLocalState",
90 )
91 });
92 let __inner: extern "C" fn(IKSolverFABRIKRoot, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
93 let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
94 __inner(__receiver, __mi)
95 }
96 }
97 }
98 #[doc = "`FixTransforms()` overload"]
99 fn fix_transforms(self) -> () {
100 unsafe {
101 let __receiver = <IKSolverFABRIKRoot as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
102 {
103 let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
104 let __vi = *__vt.get(8usize).unwrap_or_else(|| {
105 panic!(
106 "unity: virtual slot {}
107 out of range (vtable len {}
108) on the runtime class behind {}
109 (method `{}
110`)",
111 8usize,
112 __vt.len(),
113 <IKSolverFABRIKRoot as ::unity::ClassIdentity>::NAME,
114 "FixTransforms",
115 )
116 });
117 let __inner: extern "C" fn(IKSolverFABRIKRoot, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
118 let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
119 __inner(__receiver, __mi)
120 }
121 }
122 }
123 #[doc = "`OnInitiate()` overload"]
124 fn on_initiate(self) -> () {
125 unsafe {
126 let __receiver = <IKSolverFABRIKRoot as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
127 {
128 let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
129 let __vi = *__vt.get(10usize).unwrap_or_else(|| {
130 panic!(
131 "unity: virtual slot {}
132 out of range (vtable len {}
133) on the runtime class behind {}
134 (method `{}
135`)",
136 10usize,
137 __vt.len(),
138 <IKSolverFABRIKRoot as ::unity::ClassIdentity>::NAME,
139 "OnInitiate",
140 )
141 });
142 let __inner: extern "C" fn(IKSolverFABRIKRoot, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
143 let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
144 __inner(__receiver, __mi)
145 }
146 }
147 }
148 #[doc = "`IsRoot(i32)` overload"]
149 fn is_root(self, index: impl ::core::convert::Into<i32>) -> bool {
150 unsafe {
151 let __receiver = <IKSolverFABRIKRoot as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
152 ::unity::il2cpp_call!((::unity::module_base()+0x3c2c580usize)as*mut u8,bool;
153(IKSolverFABRIKRoot)__receiver,(i32)::core::convert::Into::into(index))
154 }
155 }
156 #[doc = "`OnUpdate()` overload"]
157 fn on_update(self) -> () {
158 unsafe {
159 let __receiver = <IKSolverFABRIKRoot as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
160 {
161 let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
162 let __vi = *__vt.get(11usize).unwrap_or_else(|| {
163 panic!(
164 "unity: virtual slot {}
165 out of range (vtable len {}
166) on the runtime class behind {}
167 (method `{}
168`)",
169 11usize,
170 __vt.len(),
171 <IKSolverFABRIKRoot as ::unity::ClassIdentity>::NAME,
172 "OnUpdate",
173 )
174 });
175 let __inner: extern "C" fn(IKSolverFABRIKRoot, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
176 let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
177 __inner(__receiver, __mi)
178 }
179 }
180 }
181 #[doc = "`GetPoints()` overload"]
182 fn get_points(self) -> ::unity::Array<crate::root_motion::final_ik::iksolver::IKSolver_Point> {
183 unsafe {
184 let __receiver = <IKSolverFABRIKRoot as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
185 {
186 let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
187 let __vi = *__vt.get(6usize).unwrap_or_else(|| {
188 panic!(
189 "unity: virtual slot {}
190 out of range (vtable len {}
191) on the runtime class behind {}
192 (method `{}
193`)",
194 6usize,
195 __vt.len(),
196 <IKSolverFABRIKRoot as ::unity::ClassIdentity>::NAME,
197 "GetPoints",
198 )
199 });
200 let __inner: extern "C" fn(
201 IKSolverFABRIKRoot,
202 ::unity::OptionalMethod,
203 ) -> ::unity::Array<crate::root_motion::final_ik::iksolver::IKSolver_Point> = ::core::mem::transmute(__vi.method_ptr);
204 let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
205 __inner(__receiver, __mi)
206 }
207 }
208 }
209 #[doc = "`GetPoint(crate::unity_engine::transform::Transform)` overload"]
210 fn get_point(
211 self,
212 transform: impl ::core::convert::Into<crate::unity_engine::transform::Transform>,
213 ) -> crate::root_motion::final_ik::iksolver::IKSolver_Point {
214 unsafe {
215 let __receiver = <IKSolverFABRIKRoot as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
216 {
217 let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
218 let __vi = *__vt.get(7usize).unwrap_or_else(|| {
219 panic!(
220 "unity: virtual slot {}
221 out of range (vtable len {}
222) on the runtime class behind {}
223 (method `{}
224`)",
225 7usize,
226 __vt.len(),
227 <IKSolverFABRIKRoot as ::unity::ClassIdentity>::NAME,
228 "GetPoint",
229 )
230 });
231 let __inner: extern "C" fn(
232 IKSolverFABRIKRoot,
233 crate::unity_engine::transform::Transform,
234 ::unity::OptionalMethod,
235 ) -> crate::root_motion::final_ik::iksolver::IKSolver_Point = ::core::mem::transmute(__vi.method_ptr);
236 let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
237 __inner(__receiver, ::core::convert::Into::into(transform), __mi)
238 }
239 }
240 }
241 #[doc = "`AddPointsToArray(*mut::unity::Array<crate::root_motion::final_ik::iksolver::IKSolver_Point>, crate::root_motion::final_ik::fabrikchain::FABRIKChain)` overload"]
242 fn add_points_to_array(
243 self,
244 chain: impl ::core::convert::Into<crate::root_motion::final_ik::fabrikchain::FABRIKChain>,
245 ) -> ::unity::Array<crate::root_motion::final_ik::iksolver::IKSolver_Point> {
246 unsafe {
247 let __receiver = <IKSolverFABRIKRoot as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
248 let mut __out_0 = ::core::mem::MaybeUninit::<::unity::Array<crate::root_motion::final_ik::iksolver::IKSolver_Point>>::uninit();
249 ::unity::il2cpp_call!((::unity::module_base()+0x3c2cae0usize)as*mut u8,();
250(IKSolverFABRIKRoot)__receiver,(*mut::unity::Array<crate::root_motion::final_ik::iksolver::IKSolver_Point>)__out_0.as_mut_ptr(),(crate::root_motion::final_ik::fabrikchain::FABRIKChain)::core::convert::Into::into(chain));
251 __out_0.assume_init()
252 }
253 }
254 #[doc = "`GetCentroid()` overload"]
255 fn get_centroid(self) -> crate::unity_engine::vector3::Vector3 {
256 unsafe {
257 let __receiver = <IKSolverFABRIKRoot as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
258 ::unity::il2cpp_call!((::unity::module_base()+0x3c2c800usize)as*mut u8,crate::unity_engine::vector3::Vector3;
259(IKSolverFABRIKRoot)__receiver)
260 }
261 }
262 #[doc = "`.ctor()` overload"]
263 fn ctor(self) -> () {
264 unsafe {
265 let __receiver = <IKSolverFABRIKRoot as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
266 ::unity::il2cpp_call!((::unity::module_base()+0x3c2ccc0usize)as*mut u8,();
267(IKSolverFABRIKRoot)__receiver)
268 }
269 }
270}
271
272#[cfg(feature = "root_motion-final_ik-iksolverfabrikroot")]
273impl<__T: IIKSolverFABRIKRoot> IIKSolverFABRIKRootMethods for __T {}
274
275#[cfg(feature = "root_motion-final_ik-iksolverfabrikroot")]
276impl IKSolverFABRIKRoot {
277 pub fn is_valid_method_info() -> &'static ::unity::il2cpp::MethodInfo {
278 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
279 }
280
281 pub fn store_default_local_state_method_info() -> &'static ::unity::il2cpp::MethodInfo {
282 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
283 }
284
285 pub fn fix_transforms_method_info() -> &'static ::unity::il2cpp::MethodInfo {
286 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
287 }
288
289 pub fn on_initiate_method_info() -> &'static ::unity::il2cpp::MethodInfo {
290 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[3]
291 }
292
293 pub fn is_root_method_info() -> &'static ::unity::il2cpp::MethodInfo {
294 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[4]
295 }
296
297 pub fn on_update_method_info() -> &'static ::unity::il2cpp::MethodInfo {
298 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[5]
299 }
300
301 pub fn get_points_method_info() -> &'static ::unity::il2cpp::MethodInfo {
302 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[6]
303 }
304
305 pub fn get_point_method_info() -> &'static ::unity::il2cpp::MethodInfo {
306 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[7]
307 }
308
309 pub fn add_points_to_array_method_info() -> &'static ::unity::il2cpp::MethodInfo {
310 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[8]
311 }
312
313 pub fn get_centroid_method_info() -> &'static ::unity::il2cpp::MethodInfo {
314 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[9]
315 }
316
317 pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
318 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[10]
319 }
320}
321
322#[cfg(feature = "root_motion-final_ik-iksolverfabrikroot")]
323impl IKSolverFABRIKRoot {
324 #[doc = "Direct (non-virtual) call to `IKSolverFABRIKRoot`'s own `IsValid`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
325 pub unsafe fn is_valid(this: impl ::core::convert::Into<::unity::IlInstance>, message: *mut ::unity::Il2CppString) -> bool {
326 let __mi = Self::is_valid_method_info();
327 let __inner: extern "C" fn(::unity::IlInstance, *mut ::unity::Il2CppString, ::unity::OptionalMethod) -> bool =
328 ::core::mem::transmute(__mi.method_ptr);
329 __inner(this.into(), message, ::core::option::Option::None)
330 }
331
332 #[doc = "Direct (non-virtual) call to `IKSolverFABRIKRoot`'s own `StoreDefaultLocalState`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
333 pub unsafe fn store_default_local_state(this: impl ::core::convert::Into<::unity::IlInstance>) -> () {
334 let __mi = Self::store_default_local_state_method_info();
335 let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
336 __inner(this.into(), ::core::option::Option::None)
337 }
338
339 #[doc = "Direct (non-virtual) call to `IKSolverFABRIKRoot`'s own `FixTransforms`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
340 pub unsafe fn fix_transforms(this: impl ::core::convert::Into<::unity::IlInstance>) -> () {
341 let __mi = Self::fix_transforms_method_info();
342 let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
343 __inner(this.into(), ::core::option::Option::None)
344 }
345
346 #[doc = "Direct (non-virtual) call to `IKSolverFABRIKRoot`'s own `OnInitiate`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
347 pub unsafe fn on_initiate(this: impl ::core::convert::Into<::unity::IlInstance>) -> () {
348 let __mi = Self::on_initiate_method_info();
349 let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
350 __inner(this.into(), ::core::option::Option::None)
351 }
352
353 #[doc = "Direct (non-virtual) call to `IKSolverFABRIKRoot`'s own `OnUpdate`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
354 pub unsafe fn on_update(this: impl ::core::convert::Into<::unity::IlInstance>) -> () {
355 let __mi = Self::on_update_method_info();
356 let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
357 __inner(this.into(), ::core::option::Option::None)
358 }
359
360 #[doc = "Direct (non-virtual) call to `IKSolverFABRIKRoot`'s own `GetPoints`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
361 pub unsafe fn get_points(
362 this: impl ::core::convert::Into<::unity::IlInstance>,
363 ) -> ::unity::Array<crate::root_motion::final_ik::iksolver::IKSolver_Point> {
364 let __mi = Self::get_points_method_info();
365 let __inner: extern "C" fn(
366 ::unity::IlInstance,
367 ::unity::OptionalMethod,
368 ) -> ::unity::Array<crate::root_motion::final_ik::iksolver::IKSolver_Point> = ::core::mem::transmute(__mi.method_ptr);
369 __inner(this.into(), ::core::option::Option::None)
370 }
371
372 #[doc = "Direct (non-virtual) call to `IKSolverFABRIKRoot`'s own `GetPoint`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
373 pub unsafe fn get_point(
374 this: impl ::core::convert::Into<::unity::IlInstance>,
375 transform: crate::unity_engine::transform::Transform,
376 ) -> crate::root_motion::final_ik::iksolver::IKSolver_Point {
377 let __mi = Self::get_point_method_info();
378 let __inner: extern "C" fn(
379 ::unity::IlInstance,
380 crate::unity_engine::transform::Transform,
381 ::unity::OptionalMethod,
382 ) -> crate::root_motion::final_ik::iksolver::IKSolver_Point = ::core::mem::transmute(__mi.method_ptr);
383 __inner(this.into(), transform, ::core::option::Option::None)
384 }
385}
386
387#[cfg(feature = "root_motion-final_ik-iksolverfabrikroot")]
388impl IKSolverFABRIKRoot {
389 #[doc = "`.ctor()` — no args"]
390 pub fn new() -> Self {
391 let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
392 panic!(
393 "{}
394::{}
395 failed to instantiate",
396 ::core::stringify!(IKSolverFABRIKRoot),
397 ::core::stringify!(new),
398 )
399 });
400 <Self as IIKSolverFABRIKRootMethods>::ctor(this);
401 this
402 }
403}
404
405#[cfg(feature = "root_motion-final_ik-iksolverfabrikroot")]
406#[doc(hidden)]
407pub mod prelude {
408 pub use super::{IIKSolverFABRIKRoot, IIKSolverFABRIKRootMethods, IKSolverFABRIKRoot};
409 #[cfg(feature = "root_motion-final_ik-iksolver")]
410 pub use crate::root_motion::final_ik::iksolver::IIKSolverMethods;
411 #[cfg(feature = "system-object")]
412 pub use crate::system::object::IObjectMethods;
413 pub use crate::{
414 root_motion::final_ik::iksolver::{IIKSolver, IKSolver},
415 system::object::IObject,
416 };
417}