engage/generated/root_motion/final_ik/
rotationlimitspline.rs1#[cfg(feature = "root_motion-final_ik-rotationlimitspline-types")]
4mod __types {
5 #[allow(unused_imports)] use ::unity::prelude::*;
6
7 use super::*;
8 use crate::{
9 root_motion::final_ik::rotationlimit::{IRotationLimit, RotationLimit},
10 system::object::{IObject, Object},
11 unity_engine::{
12 behaviour::{Behaviour, IBehaviour},
13 component::{Component, IComponent},
14 monobehaviour::{IMonoBehaviour, MonoBehaviour},
15 object_2::{IObject_2, Object_2},
16 },
17 };
18
19 #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/root_motion/final_ik/rotationlimitspline/RotationLimitSpline.md"))]
20 #[::unity::class(namespace = "RootMotion.FinalIK", name = "RotationLimitSpline")]
21 #[parent(crate::root_motion::final_ik::rotationlimit::RotationLimit)]
22 pub struct RotationLimitSpline {
23 #[offset(56)]
24 #[rename(name = "twistLimit")]
25 pub twist_limit: f32,
26 #[offset(64)]
27 #[rename(name = "spline")]
28 pub spline_field: crate::unity_engine::animationcurve::AnimationCurve,
29 }
30}
31
32#[cfg(feature = "root_motion-final_ik-rotationlimitspline-types")]
33pub use __types::*;
34
35#[cfg(feature = "root_motion-final_ik-rotationlimitspline")]
36pub trait IRotationLimitSplineMethods: IRotationLimitSpline {
37 #[doc = "`OpenUserManual()` overload"]
38 fn open_user_manual(self) -> () {
39 unsafe {
40 let __receiver = <RotationLimitSpline as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
41 ::unity::il2cpp_call!((::unity::module_base()+0x1ec2c60usize)as*mut u8,();
42(RotationLimitSpline)__receiver)
43 }
44 }
45 #[doc = "`OpenScriptReference()` overload"]
46 fn open_script_reference(self) -> () {
47 unsafe {
48 let __receiver = <RotationLimitSpline as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
49 ::unity::il2cpp_call!((::unity::module_base()+0x1ec2cb0usize)as*mut u8,();
50(RotationLimitSpline)__receiver)
51 }
52 }
53 #[doc = "`SupportGroup()` overload"]
54 fn support_group(self) -> () {
55 unsafe {
56 let __receiver = <RotationLimitSpline as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
57 ::unity::il2cpp_call!((::unity::module_base()+0x1ec2d00usize)as*mut u8,();
58(RotationLimitSpline)__receiver)
59 }
60 }
61 #[doc = "`ASThread()` overload"]
62 fn as_thread(self) -> () {
63 unsafe {
64 let __receiver = <RotationLimitSpline as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
65 ::unity::il2cpp_call!((::unity::module_base()+0x1ec2d50usize)as*mut u8,();
66(RotationLimitSpline)__receiver)
67 }
68 }
69 #[doc = "`SetSpline(::unity::Array<crate::unity_engine::keyframe::Keyframe>)` overload"]
70 fn set_spline(self, keyframes: impl ::core::convert::Into<::unity::Array<crate::unity_engine::keyframe::Keyframe>>) -> () {
71 unsafe {
72 let __receiver = <RotationLimitSpline as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
73 ::unity::il2cpp_call!((::unity::module_base()+0x1ec2da0usize)as*mut u8,();
74(RotationLimitSpline)__receiver,(::unity::Array<crate::unity_engine::keyframe::Keyframe>)::core::convert::Into::into(keyframes))
75 }
76 }
77 #[doc = "`LimitRotation(crate::unity_engine::quaternion::Quaternion)` overload"]
78 fn limit_rotation(
79 self,
80 rotation: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>,
81 ) -> crate::unity_engine::quaternion::Quaternion {
82 unsafe {
83 let __receiver = <RotationLimitSpline as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
84 {
85 let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
86 let __vi = *__vt.get(4usize).unwrap_or_else(|| {
87 panic!(
88 "unity: virtual slot {}
89 out of range (vtable len {}
90) on the runtime class behind {}
91 (method `{}
92`)",
93 4usize,
94 __vt.len(),
95 <RotationLimitSpline as ::unity::ClassIdentity>::NAME,
96 "LimitRotation",
97 )
98 });
99 let __inner: extern "C" fn(
100 RotationLimitSpline,
101 crate::unity_engine::quaternion::Quaternion,
102 ::unity::OptionalMethod,
103 ) -> crate::unity_engine::quaternion::Quaternion = ::core::mem::transmute(__vi.method_ptr);
104 let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
105 __inner(__receiver, ::core::convert::Into::into(rotation), __mi)
106 }
107 }
108 }
109 #[doc = "`LimitSwing(crate::unity_engine::quaternion::Quaternion)` overload"]
110 fn limit_swing(
111 self,
112 rotation: impl ::core::convert::Into<crate::unity_engine::quaternion::Quaternion>,
113 ) -> crate::unity_engine::quaternion::Quaternion {
114 unsafe {
115 let __receiver = <RotationLimitSpline as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
116 ::unity::il2cpp_call!((::unity::module_base()+0x1ec2e00usize)as*mut u8,crate::unity_engine::quaternion::Quaternion;
117(RotationLimitSpline)__receiver,(crate::unity_engine::quaternion::Quaternion)::core::convert::Into::into(rotation))
118 }
119 }
120 #[doc = "`.ctor()` overload"]
121 fn ctor(self) -> () {
122 unsafe {
123 let __receiver = <RotationLimitSpline as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
124 ::unity::il2cpp_call!((::unity::module_base()+0x1ec2c20usize)as*mut u8,();
125(RotationLimitSpline)__receiver)
126 }
127 }
128}
129
130#[cfg(feature = "root_motion-final_ik-rotationlimitspline")]
131impl<__T: IRotationLimitSpline> IRotationLimitSplineMethods for __T {}
132
133#[cfg(feature = "root_motion-final_ik-rotationlimitspline")]
134impl RotationLimitSpline {
135 pub fn open_user_manual_method_info() -> &'static ::unity::il2cpp::MethodInfo {
136 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
137 }
138
139 pub fn open_script_reference_method_info() -> &'static ::unity::il2cpp::MethodInfo {
140 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
141 }
142
143 pub fn support_group_method_info() -> &'static ::unity::il2cpp::MethodInfo {
144 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
145 }
146
147 pub fn as_thread_method_info() -> &'static ::unity::il2cpp::MethodInfo {
148 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[3]
149 }
150
151 pub fn set_spline_method_info() -> &'static ::unity::il2cpp::MethodInfo {
152 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[4]
153 }
154
155 pub fn limit_rotation_method_info() -> &'static ::unity::il2cpp::MethodInfo {
156 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[5]
157 }
158
159 pub fn limit_swing_method_info() -> &'static ::unity::il2cpp::MethodInfo {
160 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[6]
161 }
162
163 pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
164 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[7]
165 }
166}
167
168#[cfg(feature = "root_motion-final_ik-rotationlimitspline")]
169impl RotationLimitSpline {
170 #[doc = "Direct (non-virtual) call to `RotationLimitSpline`'s own `LimitRotation`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
171 pub unsafe fn limit_rotation(
172 this: impl ::core::convert::Into<::unity::IlInstance>,
173 rotation: crate::unity_engine::quaternion::Quaternion,
174 ) -> crate::unity_engine::quaternion::Quaternion {
175 let __mi = Self::limit_rotation_method_info();
176 let __inner: extern "C" fn(
177 ::unity::IlInstance,
178 crate::unity_engine::quaternion::Quaternion,
179 ::unity::OptionalMethod,
180 ) -> crate::unity_engine::quaternion::Quaternion = ::core::mem::transmute(__mi.method_ptr);
181 __inner(this.into(), rotation, ::core::option::Option::None)
182 }
183}
184
185#[cfg(feature = "root_motion-final_ik-rotationlimitspline")]
186impl RotationLimitSpline {
187 #[doc = "`.ctor()` — no args"]
188 pub fn new() -> Self {
189 let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
190 panic!(
191 "{}
192::{}
193 failed to instantiate",
194 ::core::stringify!(RotationLimitSpline),
195 ::core::stringify!(new),
196 )
197 });
198 <Self as IRotationLimitSplineMethods>::ctor(this);
199 this
200 }
201}
202
203#[cfg(feature = "root_motion-final_ik-rotationlimitspline")]
204#[doc(hidden)]
205pub mod prelude {
206 pub use super::{IRotationLimitSpline, IRotationLimitSplineMethods, RotationLimitSpline};
207 #[cfg(feature = "root_motion-final_ik-rotationlimit")]
208 pub use crate::root_motion::final_ik::rotationlimit::IRotationLimitMethods;
209 #[cfg(feature = "system-object")]
210 pub use crate::system::object::IObjectMethods;
211 #[cfg(feature = "unity_engine-behaviour")]
212 pub use crate::unity_engine::behaviour::IBehaviourMethods;
213 #[cfg(feature = "unity_engine-component")]
214 pub use crate::unity_engine::component::IComponentMethods;
215 #[cfg(feature = "unity_engine-monobehaviour")]
216 pub use crate::unity_engine::monobehaviour::IMonoBehaviourMethods;
217 #[cfg(feature = "unity_engine-object_2")]
218 pub use crate::unity_engine::object_2::IObject_2Methods;
219 pub use crate::{
220 root_motion::final_ik::rotationlimit::IRotationLimit,
221 system::object::IObject,
222 unity_engine::{behaviour::IBehaviour, component::IComponent, monobehaviour::IMonoBehaviour, object_2::IObject_2},
223 };
224}