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