engage/generated/root_motion/final_ik/
penetrationavoidance.rs1#[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}