Skip to main content

engage/generated/root_motion/final_ik/
rotationlimitspline.rs

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