Skip to main content

engage/generated/root_motion/final_ik/
rotationlimitangle.rs

1// @generated by il2cpp-bindgen — do not edit by hand.
2
3#[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}