Skip to main content

engage/generated/root_motion/final_ik/
penetrationavoidance.rs

1// @generated by il2cpp-bindgen — do not edit by hand.
2
3#[cfg(feature = "root_motion-final_ik-penetrationavoidance-types")]
4mod __types {
5    #[allow(unused_imports)] use ::unity::prelude::*;
6
7    use super::*;
8    use crate::{
9        root_motion::final_ik::offsetmodifier::{IOffsetModifier, OffsetModifier},
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/penetrationavoidance/PenetrationAvoidance.md"))]
20    #[::unity::class(namespace = "RootMotion.FinalIK", name = "PenetrationAvoidance")]
21    #[parent(crate::root_motion::final_ik::offsetmodifier::OffsetModifier)]
22    pub struct PenetrationAvoidance {
23        #[offset(48)]
24        #[rename(name = "avoiders")]
25        pub avoiders: ::unity::Array<crate::root_motion::final_ik::penetrationavoidance::PenetrationAvoidance_Avoider>,
26    }
27
28    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/root_motion/final_ik/penetrationavoidance/PenetrationAvoidance_Avoider_EffectorLink.md"))]
29    #[::unity::class(namespace = "RootMotion.FinalIK", name = "PenetrationAvoidance.Avoider.EffectorLink")]
30    #[parent(crate::system::object::Object)]
31    pub struct PenetrationAvoidance_Avoider_EffectorLink {
32        #[offset(16)]
33        #[rename(name = "effector")]
34        pub effector: crate::root_motion::final_ik::fullbodybipedeffector::FullBodyBipedEffector,
35        #[offset(20)]
36        #[rename(name = "weight")]
37        pub weight: f32,
38    }
39
40    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/root_motion/final_ik/penetrationavoidance/PenetrationAvoidance_Avoider.md"))]
41    #[::unity::class(namespace = "RootMotion.FinalIK", name = "PenetrationAvoidance.Avoider")]
42    #[parent(crate::system::object::Object)]
43    pub struct PenetrationAvoidance_Avoider {
44        #[offset(16)]
45        #[rename(name = "raycastFrom")]
46        pub raycast_from: ::unity::Array<crate::unity_engine::transform::Transform>,
47        #[offset(24)]
48        #[rename(name = "raycastTo")]
49        pub raycast_to: crate::unity_engine::transform::Transform,
50        #[offset(32)]
51        #[rename(name = "raycastRadius")]
52        pub raycast_radius: f32,
53        #[offset(40)]
54        #[rename(name = "effectors")]
55        pub effectors: ::unity::Array<crate::root_motion::final_ik::penetrationavoidance::PenetrationAvoidance_Avoider_EffectorLink>,
56        #[offset(48)]
57        #[rename(name = "smoothTimeIn")]
58        pub smooth_time_in: f32,
59        #[offset(52)]
60        #[rename(name = "smoothTimeOut")]
61        pub smooth_time_out: f32,
62        #[offset(56)]
63        #[rename(name = "layers")]
64        pub layers: crate::unity_engine::layermask::LayerMask,
65        #[offset(60)]
66        #[rename(name = "offset")]
67        pub offset: crate::unity_engine::vector3::Vector3,
68        #[offset(72)]
69        #[rename(name = "offsetTarget")]
70        pub offset_target: crate::unity_engine::vector3::Vector3,
71        #[offset(84)]
72        #[rename(name = "offsetV")]
73        pub offset_v: crate::unity_engine::vector3::Vector3,
74    }
75}
76
77#[cfg(feature = "root_motion-final_ik-penetrationavoidance-types")]
78pub use __types::*;
79
80#[cfg(feature = "root_motion-final_ik-penetrationavoidance")]
81pub trait IPenetrationAvoidanceMethods: IPenetrationAvoidance {
82    #[doc = "`OnModifyOffset()` overload"]
83    fn on_modify_offset(self) -> () {
84        unsafe {
85            let __receiver = <PenetrationAvoidance as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
86            {
87                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
88                let __vi = *__vt.get(4usize).unwrap_or_else(|| {
89                    panic!(
90                        "unity: virtual slot {}
91 out of range (vtable len {}
92) on the runtime class behind {}
93 (method `{}
94`)",
95                        4usize,
96                        __vt.len(),
97                        <PenetrationAvoidance as ::unity::ClassIdentity>::NAME,
98                        "OnModifyOffset",
99                    )
100                });
101                let __inner: extern "C" fn(PenetrationAvoidance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
102                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
103                __inner(__receiver, __mi)
104            }
105        }
106    }
107    #[doc = "`.ctor()` overload"]
108    fn ctor(self) -> () {
109        unsafe {
110            let __receiver = <PenetrationAvoidance as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
111            ::unity::il2cpp_call!((::unity::module_base()+0x1f25910usize)as*mut u8,();
112(PenetrationAvoidance)__receiver)
113        }
114    }
115}
116
117#[cfg(feature = "root_motion-final_ik-penetrationavoidance")]
118impl<__T: IPenetrationAvoidance> IPenetrationAvoidanceMethods for __T {}
119
120#[cfg(feature = "root_motion-final_ik-penetrationavoidance")]
121impl PenetrationAvoidance {
122    pub fn on_modify_offset_method_info() -> &'static ::unity::il2cpp::MethodInfo {
123        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
124    }
125
126    pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
127        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
128    }
129}
130
131#[cfg(feature = "root_motion-final_ik-penetrationavoidance")]
132impl PenetrationAvoidance {
133    #[doc = "Direct (non-virtual) call to `PenetrationAvoidance`'s own `OnModifyOffset`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
134    pub unsafe fn on_modify_offset(this: impl ::core::convert::Into<::unity::IlInstance>) -> () {
135        let __mi = Self::on_modify_offset_method_info();
136        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
137        __inner(this.into(), ::core::option::Option::None)
138    }
139}
140
141#[cfg(feature = "root_motion-final_ik-penetrationavoidance")]
142impl PenetrationAvoidance {
143    #[doc = "`.ctor()` — no args"]
144    pub fn new() -> Self {
145        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
146            panic!(
147                "{}
148::{}
149 failed to instantiate",
150                ::core::stringify!(PenetrationAvoidance),
151                ::core::stringify!(new),
152            )
153        });
154        <Self as IPenetrationAvoidanceMethods>::ctor(this);
155        this
156    }
157}
158
159#[cfg(feature = "root_motion-final_ik-penetrationavoidance")]
160pub trait IPenetrationAvoidance_Avoider_EffectorLinkMethods: IPenetrationAvoidance_Avoider_EffectorLink {
161    #[doc = "`.ctor()` overload"]
162    fn ctor(self) -> () {
163        unsafe {
164            let __receiver = <PenetrationAvoidance_Avoider_EffectorLink as ::unity::FromIlInstance>::from_il_instance(
165                <Self as ::unity::SystemObject>::as_instance(self),
166            );
167            ::unity::il2cpp_call!((::unity::module_base()+0x1b78f70usize)as*mut u8,();
168(PenetrationAvoidance_Avoider_EffectorLink)__receiver)
169        }
170    }
171}
172
173#[cfg(feature = "root_motion-final_ik-penetrationavoidance")]
174impl<__T: IPenetrationAvoidance_Avoider_EffectorLink> IPenetrationAvoidance_Avoider_EffectorLinkMethods for __T {}
175
176#[cfg(feature = "root_motion-final_ik-penetrationavoidance")]
177impl PenetrationAvoidance_Avoider_EffectorLink {
178    pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
179        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
180    }
181}
182
183#[cfg(feature = "root_motion-final_ik-penetrationavoidance")]
184impl PenetrationAvoidance_Avoider_EffectorLink {
185    #[doc = "`.ctor()` — no args"]
186    pub fn new() -> Self {
187        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
188            panic!(
189                "{}
190::{}
191 failed to instantiate",
192                ::core::stringify!(PenetrationAvoidance_Avoider_EffectorLink),
193                ::core::stringify!(new),
194            )
195        });
196        <Self as IPenetrationAvoidance_Avoider_EffectorLinkMethods>::ctor(this);
197        this
198    }
199}
200
201#[cfg(feature = "root_motion-final_ik-penetrationavoidance")]
202pub trait IPenetrationAvoidance_AvoiderMethods: IPenetrationAvoidance_Avoider {
203    #[doc = "`Solve(crate::root_motion::final_ik::iksolverfullbodybiped::IKSolverFullBodyBiped, f32)` overload"]
204    fn solve(
205        self,
206        solver: impl ::core::convert::Into<crate::root_motion::final_ik::iksolverfullbodybiped::IKSolverFullBodyBiped>,
207        weight: impl ::core::convert::Into<f32>,
208    ) -> () {
209        unsafe {
210            let __receiver =
211                <PenetrationAvoidance_Avoider as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
212            ::unity::il2cpp_call!((::unity::module_base()+0x2260cd0usize)as*mut u8,();
213(PenetrationAvoidance_Avoider)__receiver,(crate::root_motion::final_ik::iksolverfullbodybiped::IKSolverFullBodyBiped)::core::convert::Into::into(solver),(f32)::core::convert::Into::into(weight))
214        }
215    }
216    #[doc = "`GetOffsetTarget(crate::root_motion::final_ik::iksolverfullbodybiped::IKSolverFullBodyBiped)` overload"]
217    fn get_offset_target(
218        self,
219        solver: impl ::core::convert::Into<crate::root_motion::final_ik::iksolverfullbodybiped::IKSolverFullBodyBiped>,
220    ) -> crate::unity_engine::vector3::Vector3 {
221        unsafe {
222            let __receiver =
223                <PenetrationAvoidance_Avoider as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
224            ::unity::il2cpp_call!((::unity::module_base()+0x2260e10usize)as*mut u8,crate::unity_engine::vector3::Vector3;
225(PenetrationAvoidance_Avoider)__receiver,(crate::root_motion::final_ik::iksolverfullbodybiped::IKSolverFullBodyBiped)::core::convert::Into::into(solver))
226        }
227    }
228    #[doc = "`Raycast(crate::unity_engine::vector3::Vector3, crate::unity_engine::vector3::Vector3)` overload"]
229    fn raycast(
230        self,
231        from: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
232        to: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
233    ) -> crate::unity_engine::vector3::Vector3 {
234        unsafe {
235            let __receiver =
236                <PenetrationAvoidance_Avoider as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
237            ::unity::il2cpp_call!((::unity::module_base()+0x2260f00usize)as*mut u8,crate::unity_engine::vector3::Vector3;
238(PenetrationAvoidance_Avoider)__receiver,(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(from),(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(to))
239        }
240    }
241    #[doc = "`.ctor()` overload"]
242    fn ctor(self) -> () {
243        unsafe {
244            let __receiver =
245                <PenetrationAvoidance_Avoider as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
246            ::unity::il2cpp_call!((::unity::module_base()+0x22610d0usize)as*mut u8,();
247(PenetrationAvoidance_Avoider)__receiver)
248        }
249    }
250}
251
252#[cfg(feature = "root_motion-final_ik-penetrationavoidance")]
253impl<__T: IPenetrationAvoidance_Avoider> IPenetrationAvoidance_AvoiderMethods for __T {}
254
255#[cfg(feature = "root_motion-final_ik-penetrationavoidance")]
256impl PenetrationAvoidance_Avoider {
257    pub fn solve_method_info() -> &'static ::unity::il2cpp::MethodInfo {
258        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
259    }
260
261    pub fn get_offset_target_method_info() -> &'static ::unity::il2cpp::MethodInfo {
262        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
263    }
264
265    pub fn raycast_method_info() -> &'static ::unity::il2cpp::MethodInfo {
266        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
267    }
268
269    pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
270        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[3]
271    }
272}
273
274#[cfg(feature = "root_motion-final_ik-penetrationavoidance")]
275impl PenetrationAvoidance_Avoider {
276    #[doc = "`.ctor()` — no args"]
277    pub fn new() -> Self {
278        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
279            panic!(
280                "{}
281::{}
282 failed to instantiate",
283                ::core::stringify!(PenetrationAvoidance_Avoider),
284                ::core::stringify!(new),
285            )
286        });
287        <Self as IPenetrationAvoidance_AvoiderMethods>::ctor(this);
288        this
289    }
290}
291
292#[cfg(feature = "root_motion-final_ik-penetrationavoidance")]
293#[doc(hidden)]
294pub mod prelude {
295    pub use super::{
296        IPenetrationAvoidance, IPenetrationAvoidanceMethods, IPenetrationAvoidance_Avoider, IPenetrationAvoidance_AvoiderMethods,
297        IPenetrationAvoidance_Avoider_EffectorLink, IPenetrationAvoidance_Avoider_EffectorLinkMethods, PenetrationAvoidance,
298        PenetrationAvoidance_Avoider, PenetrationAvoidance_Avoider_EffectorLink,
299    };
300    #[cfg(feature = "root_motion-final_ik-offsetmodifier")]
301    pub use crate::root_motion::final_ik::offsetmodifier::IOffsetModifierMethods;
302    #[cfg(feature = "system-object")]
303    pub use crate::system::object::IObjectMethods;
304    #[cfg(feature = "unity_engine-behaviour")]
305    pub use crate::unity_engine::behaviour::IBehaviourMethods;
306    #[cfg(feature = "unity_engine-component")]
307    pub use crate::unity_engine::component::IComponentMethods;
308    #[cfg(feature = "unity_engine-monobehaviour")]
309    pub use crate::unity_engine::monobehaviour::IMonoBehaviourMethods;
310    #[cfg(feature = "unity_engine-object_2")]
311    pub use crate::unity_engine::object_2::IObject_2Methods;
312    pub use crate::{
313        root_motion::final_ik::offsetmodifier::IOffsetModifier,
314        system::object::IObject,
315        unity_engine::{behaviour::IBehaviour, component::IComponent, monobehaviour::IMonoBehaviour, object_2::IObject_2},
316    };
317}