Skip to main content

engage/generated/unity_engine/
trackedreference.rs

1// @generated by il2cpp-bindgen — do not edit by hand.
2
3#[cfg(feature = "unity_engine-trackedreference-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/trackedreference/TrackedReference.md"))]
11    #[::unity::class(namespace = "UnityEngine", name = "TrackedReference")]
12    #[parent(crate::system::object::Object)]
13    pub struct TrackedReference {
14        #[offset(16)]
15        #[rename(name = "m_Ptr")]
16        pub m_ptr: ::unity::IntPtr,
17    }
18}
19
20#[cfg(feature = "unity_engine-trackedreference-types")]
21pub use __types::*;
22
23#[cfg(feature = "unity_engine-trackedreference")]
24impl TrackedReference {
25    #[doc = "`op_Equality(crate::unity_engine::trackedreference::TrackedReference, crate::unity_engine::trackedreference::TrackedReference)` overload"]
26    pub fn op_equality(
27        x: impl ::core::convert::Into<crate::unity_engine::trackedreference::TrackedReference>,
28        y: impl ::core::convert::Into<crate::unity_engine::trackedreference::TrackedReference>,
29    ) -> bool {
30        unsafe {
31            ::unity::il2cpp_call!((::unity::module_base()+0x378f5f0usize)as*mut u8,bool;
32(crate::unity_engine::trackedreference::TrackedReference)::core::convert::Into::into(x),(crate::unity_engine::trackedreference::TrackedReference)::core::convert::Into::into(y))
33        }
34    }
35
36    #[doc = "`op_Inequality(crate::unity_engine::trackedreference::TrackedReference, crate::unity_engine::trackedreference::TrackedReference)` overload"]
37    pub fn op_inequality(
38        x: impl ::core::convert::Into<crate::unity_engine::trackedreference::TrackedReference>,
39        y: impl ::core::convert::Into<crate::unity_engine::trackedreference::TrackedReference>,
40    ) -> bool {
41        unsafe {
42            ::unity::il2cpp_call!((::unity::module_base()+0x378f680usize)as*mut u8,bool;
43(crate::unity_engine::trackedreference::TrackedReference)::core::convert::Into::into(x),(crate::unity_engine::trackedreference::TrackedReference)::core::convert::Into::into(y))
44        }
45    }
46
47    #[doc = "`op_Implicit(crate::unity_engine::trackedreference::TrackedReference)` overload"]
48    pub fn op_implicit(exists: impl ::core::convert::Into<crate::unity_engine::trackedreference::TrackedReference>) -> bool {
49        unsafe {
50            ::unity::il2cpp_call!((::unity::module_base()+0x378f810usize)as*mut u8,bool;
51(crate::unity_engine::trackedreference::TrackedReference)::core::convert::Into::into(exists))
52        }
53    }
54}
55
56#[cfg(feature = "unity_engine-trackedreference")]
57pub trait ITrackedReferenceMethods: ITrackedReference {
58    #[doc = "`.ctor()` overload"]
59    fn ctor(self) -> () {
60        unsafe {
61            let __receiver = <TrackedReference as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
62            ::unity::il2cpp_call!((::unity::module_base()+0x378f5e0usize)as*mut u8,();
63(TrackedReference)__receiver)
64        }
65    }
66    #[doc = "`Equals(crate::system::object::Object)` overload"]
67    fn equals(self, o: impl ::core::convert::Into<crate::system::object::Object>) -> bool {
68        unsafe {
69            let __receiver = <TrackedReference as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
70            {
71                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
72                let __vi = *__vt.get(0usize).unwrap_or_else(|| {
73                    panic!(
74                        "unity: virtual slot {}
75 out of range (vtable len {}
76) on the runtime class behind {}
77 (method `{}
78`)",
79                        0usize,
80                        __vt.len(),
81                        <TrackedReference as ::unity::ClassIdentity>::NAME,
82                        "Equals",
83                    )
84                });
85                let __inner: extern "C" fn(TrackedReference, crate::system::object::Object, ::unity::OptionalMethod) -> bool =
86                    ::core::mem::transmute(__vi.method_ptr);
87                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
88                __inner(__receiver, ::core::convert::Into::into(o), __mi)
89            }
90        }
91    }
92    #[doc = "`GetHashCode()` overload"]
93    fn get_hash_code(self) -> i32 {
94        unsafe {
95            let __receiver = <TrackedReference as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
96            {
97                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
98                let __vi = *__vt.get(2usize).unwrap_or_else(|| {
99                    panic!(
100                        "unity: virtual slot {}
101 out of range (vtable len {}
102) on the runtime class behind {}
103 (method `{}
104`)",
105                        2usize,
106                        __vt.len(),
107                        <TrackedReference as ::unity::ClassIdentity>::NAME,
108                        "GetHashCode",
109                    )
110                });
111                let __inner: extern "C" fn(TrackedReference, ::unity::OptionalMethod) -> i32 = ::core::mem::transmute(__vi.method_ptr);
112                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
113                __inner(__receiver, __mi)
114            }
115        }
116    }
117}
118
119#[cfg(feature = "unity_engine-trackedreference")]
120impl<__T: ITrackedReference> ITrackedReferenceMethods for __T {}
121
122#[cfg(feature = "unity_engine-trackedreference")]
123impl TrackedReference {
124    pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
125        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
126    }
127
128    pub fn op_equality_method_info() -> &'static ::unity::il2cpp::MethodInfo {
129        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
130    }
131
132    pub fn op_inequality_method_info() -> &'static ::unity::il2cpp::MethodInfo {
133        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
134    }
135
136    pub fn equals_method_info() -> &'static ::unity::il2cpp::MethodInfo {
137        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[3]
138    }
139
140    pub fn get_hash_code_method_info() -> &'static ::unity::il2cpp::MethodInfo {
141        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[4]
142    }
143
144    pub fn op_implicit_method_info() -> &'static ::unity::il2cpp::MethodInfo {
145        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[5]
146    }
147}
148
149#[cfg(feature = "unity_engine-trackedreference")]
150impl TrackedReference {
151    #[doc = "Direct (non-virtual) call to `TrackedReference`'s own `Equals`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
152    pub unsafe fn equals(this: impl ::core::convert::Into<::unity::IlInstance>, o: crate::system::object::Object) -> bool {
153        let __mi = Self::equals_method_info();
154        let __inner: extern "C" fn(::unity::IlInstance, crate::system::object::Object, ::unity::OptionalMethod) -> bool =
155            ::core::mem::transmute(__mi.method_ptr);
156        __inner(this.into(), o, ::core::option::Option::None)
157    }
158
159    #[doc = "Direct (non-virtual) call to `TrackedReference`'s own `GetHashCode`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
160    pub unsafe fn get_hash_code(this: impl ::core::convert::Into<::unity::IlInstance>) -> i32 {
161        let __mi = Self::get_hash_code_method_info();
162        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> i32 = ::core::mem::transmute(__mi.method_ptr);
163        __inner(this.into(), ::core::option::Option::None)
164    }
165}
166
167#[cfg(feature = "unity_engine-trackedreference")]
168impl TrackedReference {
169    #[doc = "`.ctor()` — no args"]
170    pub fn new() -> Self {
171        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
172            panic!(
173                "{}
174::{}
175 failed to instantiate",
176                ::core::stringify!(TrackedReference),
177                ::core::stringify!(new),
178            )
179        });
180        <Self as ITrackedReferenceMethods>::ctor(this);
181        this
182    }
183}
184
185#[cfg(feature = "unity_engine-trackedreference")]
186#[doc(hidden)]
187pub mod prelude {
188    pub use super::{ITrackedReference, ITrackedReferenceMethods, TrackedReference};
189    pub use crate::system::object::IObject;
190    #[cfg(feature = "system-object")]
191    pub use crate::system::object::IObjectMethods;
192}