Skip to main content

engage/generated/unity_engine/
collision.rs

1// @generated by il2cpp-bindgen — do not edit by hand.
2
3#[cfg(feature = "unity_engine-collision-types")]
4mod __types {
5    #[allow(unused_imports)] use ::unity::prelude::*;
6
7    use super::*;
8    use crate::system::object::{IObject, Object};
9
10    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/unity_engine/collision/Collision.md"))]
11    #[::unity::class(namespace = "UnityEngine", name = "Collision")]
12    #[parent(crate::system::object::Object)]
13    pub struct Collision {
14        #[offset(16)]
15        #[rename(name = "m_Impulse")]
16        pub m_impulse: crate::unity_engine::vector3::Vector3,
17        #[offset(28)]
18        #[rename(name = "m_RelativeVelocity")]
19        pub m_relative_velocity: crate::unity_engine::vector3::Vector3,
20        #[offset(40)]
21        #[rename(name = "m_Body")]
22        pub m_body: crate::unity_engine::component::Component,
23        #[offset(48)]
24        #[rename(name = "m_Collider")]
25        pub m_collider: crate::unity_engine::collider::Collider,
26        #[offset(56)]
27        #[rename(name = "m_ContactCount")]
28        pub m_contact_count: i32,
29        #[offset(64)]
30        #[rename(name = "m_ReusedContacts")]
31        pub m_reused_contacts: ::unity::Array<crate::unity_engine::contactpoint::ContactPoint>,
32        #[offset(72)]
33        #[rename(name = "m_LegacyContacts")]
34        pub m_legacy_contacts: ::unity::Array<crate::unity_engine::contactpoint::ContactPoint>,
35    }
36}
37
38#[cfg(feature = "unity_engine-collision-types")]
39pub use __types::*;
40
41#[cfg(feature = "unity_engine-collision")]
42pub trait ICollisionMethods: ICollision {
43    #[doc = "`get_relativeVelocity()` overload"]
44    fn get_relative_velocity(self) -> crate::unity_engine::vector3::Vector3 {
45        unsafe {
46            let __receiver = <Collision as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
47            ::unity::il2cpp_call!((::unity::module_base()+0x3ef53d0usize)as*mut u8,crate::unity_engine::vector3::Vector3;
48(Collision)__receiver)
49        }
50    }
51    #[doc = "`get_collider()` overload"]
52    fn get_collider(self) -> crate::unity_engine::collider::Collider {
53        unsafe {
54            let __receiver = <Collision as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
55            ::unity::il2cpp_call!((::unity::module_base()+0x3ef53e0usize)as*mut u8,crate::unity_engine::collider::Collider;
56(Collision)__receiver)
57        }
58    }
59    #[doc = "`get_gameObject()` overload"]
60    fn get_game_object(self) -> crate::unity_engine::gameobject::GameObject {
61        unsafe {
62            let __receiver = <Collision as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
63            ::unity::il2cpp_call!((::unity::module_base()+0x3ef53f0usize)as*mut u8,crate::unity_engine::gameobject::GameObject;
64(Collision)__receiver)
65        }
66    }
67}
68
69#[cfg(feature = "unity_engine-collision")]
70impl<__T: ICollision> ICollisionMethods for __T {}
71
72#[cfg(feature = "unity_engine-collision")]
73impl Collision {
74    pub fn get_relative_velocity_method_info() -> &'static ::unity::il2cpp::MethodInfo {
75        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
76    }
77
78    pub fn get_collider_method_info() -> &'static ::unity::il2cpp::MethodInfo {
79        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
80    }
81
82    pub fn get_game_object_method_info() -> &'static ::unity::il2cpp::MethodInfo {
83        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
84    }
85}
86
87#[cfg(feature = "unity_engine-collision")]
88#[doc(hidden)]
89pub mod prelude {
90    pub use super::{Collision, ICollision, ICollisionMethods};
91    pub use crate::system::object::IObject;
92    #[cfg(feature = "system-object")]
93    pub use crate::system::object::IObjectMethods;
94}