1#[cfg(feature = "app-sort-types")]
4mod __types {
5 #[allow(unused_imports)] use ::unity::prelude::*;
6
7 use super::*;
8 use crate::{
9 app::sortconstant::{ISortConstant, SortConstant},
10 system::object::{IObject, Object},
11 };
12
13 #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/app/sort/Sort.md"))]
14 #[::unity::class(namespace = "App", name = "Sort")]
15 #[parent(crate::app::sortconstant::SortConstant)]
16 pub struct Sort {}
17
18 #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/app/sort/Sort_ElementComparer.md"))]
19 #[::unity::class(namespace = "App", name = "Sort.ElementComparer")]
20 #[parent(crate::system::object::Object)]
21 pub struct Sort_ElementComparer {}
22}
23
24#[cfg(feature = "app-sort-types")]
25pub use __types::*;
26
27#[cfg(feature = "app-sort")]
28impl Sort {
29 #[doc = "`InsertionSort(crate::system::collections::ilist::IList)` overload"]
30 pub fn insertion_sort(list: impl ::core::convert::Into<crate::system::collections::ilist::IList>) -> () {
31 unsafe {
32 ::unity::il2cpp_call!((::unity::module_base()+0x1fe3710usize)as*mut u8,();
33(crate::system::collections::ilist::IList)::core::convert::Into::into(list))
34 }
35 }
36
37 #[doc = "`InsertionSort(crate::system::collections::ilist::IList, crate::system::collections::icomparer_interface::IComparer_Interface)` overload"]
38 pub fn insertion_sort_2(
39 list: impl ::core::convert::Into<crate::system::collections::ilist::IList>,
40 comparer: impl ::core::convert::Into<crate::system::collections::icomparer_interface::IComparer_Interface>,
41 ) -> () {
42 unsafe {
43 ::unity::il2cpp_call!((::unity::module_base()+0x1fe3780usize)as*mut u8,();
44(crate::system::collections::ilist::IList)::core::convert::Into::into(list),(crate::system::collections::icomparer_interface::IComparer_Interface)::core::convert::Into::into(comparer))
45 }
46 }
47
48 #[doc = "`InsertionSortPartly(crate::system::collections::ilist::IList, i32, i32, crate::system::collections::icomparer_interface::IComparer_Interface)` overload"]
49 pub fn insertion_sort_partly(
50 list: impl ::core::convert::Into<crate::system::collections::ilist::IList>,
51 first: impl ::core::convert::Into<i32>,
52 last: impl ::core::convert::Into<i32>,
53 comparer: impl ::core::convert::Into<crate::system::collections::icomparer_interface::IComparer_Interface>,
54 ) -> () {
55 unsafe {
56 ::unity::il2cpp_call!((::unity::module_base()+0x1fe3bc0usize)as*mut u8,();
57(crate::system::collections::ilist::IList)::core::convert::Into::into(list),(i32)::core::convert::Into::into(first),(i32)::core::convert::Into::into(last),(crate::system::collections::icomparer_interface::IComparer_Interface)::core::convert::Into::into(comparer))
58 }
59 }
60
61 #[doc = "`MergeSort(crate::system::collections::ilist::IList)` overload"]
62 pub fn merge_sort(list: impl ::core::convert::Into<crate::system::collections::ilist::IList>) -> () {
63 unsafe {
64 ::unity::il2cpp_call!((::unity::module_base()+0x1fe3fb0usize)as*mut u8,();
65(crate::system::collections::ilist::IList)::core::convert::Into::into(list))
66 }
67 }
68
69 #[doc = "`MergeSort(crate::system::collections::ilist::IList, crate::system::collections::icomparer_interface::IComparer_Interface)` overload"]
70 pub fn merge_sort_2(
71 list: impl ::core::convert::Into<crate::system::collections::ilist::IList>,
72 comparer: impl ::core::convert::Into<crate::system::collections::icomparer_interface::IComparer_Interface>,
73 ) -> () {
74 unsafe {
75 ::unity::il2cpp_call!((::unity::module_base()+0x1fe41f0usize)as*mut u8,();
76(crate::system::collections::ilist::IList)::core::convert::Into::into(list),(crate::system::collections::icomparer_interface::IComparer_Interface)::core::convert::Into::into(comparer))
77 }
78 }
79
80 #[doc = "`MergeSortPartly(crate::system::collections::ilist::IList, i32, i32, ::unity::Array<crate::system::object::Object>, crate::system::collections::icomparer_interface::IComparer_Interface)` overload"]
81 pub fn merge_sort_partly(
82 list: impl ::core::convert::Into<crate::system::collections::ilist::IList>,
83 begin: impl ::core::convert::Into<i32>,
84 end: impl ::core::convert::Into<i32>,
85 work: impl ::core::convert::Into<::unity::Array<crate::system::object::Object>>,
86 comparer: impl ::core::convert::Into<crate::system::collections::icomparer_interface::IComparer_Interface>,
87 ) -> () {
88 unsafe {
89 ::unity::il2cpp_call!((::unity::module_base()+0x1fe4130usize)as*mut u8,();
90(crate::system::collections::ilist::IList)::core::convert::Into::into(list),(i32)::core::convert::Into::into(begin),(i32)::core::convert::Into::into(end),(::unity::Array<crate::system::object::Object>)::core::convert::Into::into(work),(crate::system::collections::icomparer_interface::IComparer_Interface)::core::convert::Into::into(comparer))
91 }
92 }
93
94 #[doc = "`MergeSortMerge(crate::system::collections::ilist::IList, i32, i32, i32, ::unity::Array<crate::system::object::Object>, crate::system::collections::icomparer_interface::IComparer_Interface)` overload"]
95 pub fn merge_sort_merge(
96 list: impl ::core::convert::Into<crate::system::collections::ilist::IList>,
97 begin: impl ::core::convert::Into<i32>,
98 middle: impl ::core::convert::Into<i32>,
99 end: impl ::core::convert::Into<i32>,
100 work: impl ::core::convert::Into<::unity::Array<crate::system::object::Object>>,
101 comparer: impl ::core::convert::Into<crate::system::collections::icomparer_interface::IComparer_Interface>,
102 ) -> () {
103 unsafe {
104 ::unity::il2cpp_call!((::unity::module_base()+0x1fe4340usize)as*mut u8,();
105(crate::system::collections::ilist::IList)::core::convert::Into::into(list),(i32)::core::convert::Into::into(begin),(i32)::core::convert::Into::into(middle),(i32)::core::convert::Into::into(end),(::unity::Array<crate::system::object::Object>)::core::convert::Into::into(work),(crate::system::collections::icomparer_interface::IComparer_Interface)::core::convert::Into::into(comparer))
106 }
107 }
108}
109
110#[cfg(feature = "app-sort")]
111pub trait ISortMethods: ISort {
112 #[doc = "`.ctor()` overload"]
113 fn ctor(self) -> () {
114 unsafe {
115 let __receiver = <Sort as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
116 ::unity::il2cpp_call!((::unity::module_base()+0x1fe48e0usize)as*mut u8,();
117(Sort)__receiver)
118 }
119 }
120}
121
122#[cfg(feature = "app-sort")]
123impl<__T: ISort> ISortMethods for __T {}
124
125#[cfg(feature = "app-sort")]
126impl Sort {
127 pub fn insertion_sort_method_info() -> &'static ::unity::il2cpp::MethodInfo {
128 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
129 }
130
131 pub fn insertion_sort_2_method_info() -> &'static ::unity::il2cpp::MethodInfo {
132 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
133 }
134
135 pub fn insertion_sort_partly_method_info() -> &'static ::unity::il2cpp::MethodInfo {
136 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
137 }
138
139 pub fn merge_sort_method_info() -> &'static ::unity::il2cpp::MethodInfo {
140 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[3]
141 }
142
143 pub fn merge_sort_2_method_info() -> &'static ::unity::il2cpp::MethodInfo {
144 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[4]
145 }
146
147 pub fn merge_sort_partly_method_info() -> &'static ::unity::il2cpp::MethodInfo {
148 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[5]
149 }
150
151 pub fn merge_sort_merge_method_info() -> &'static ::unity::il2cpp::MethodInfo {
152 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[6]
153 }
154
155 pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
156 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[7]
157 }
158}
159
160#[cfg(feature = "app-sort")]
161impl Sort {
162 #[doc = "`.ctor()` — no args"]
163 pub fn new() -> Self {
164 let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
165 panic!(
166 "{}
167::{}
168 failed to instantiate",
169 ::core::stringify!(Sort),
170 ::core::stringify!(new),
171 )
172 });
173 <Self as ISortMethods>::ctor(this);
174 this
175 }
176}
177
178#[cfg(feature = "app-sort")]
179pub trait ISort_ElementComparerMethods: ISort_ElementComparer {
180 #[doc = "`Compare(crate::system::object::Object, crate::system::object::Object)` overload"]
181 fn compare(
182 self,
183 a: impl ::core::convert::Into<crate::system::object::Object>,
184 b: impl ::core::convert::Into<crate::system::object::Object>,
185 ) -> i32 {
186 unsafe {
187 let __receiver = <Sort_ElementComparer as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
188 {
189 let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
190 let __vi = *__vt.get(4usize).unwrap_or_else(|| {
191 panic!(
192 "unity: virtual slot {}
193 out of range (vtable len {}
194) on the runtime class behind {}
195 (method `{}
196`)",
197 4usize,
198 __vt.len(),
199 <Sort_ElementComparer as ::unity::ClassIdentity>::NAME,
200 "Compare",
201 )
202 });
203 let __inner: extern "C" fn(
204 Sort_ElementComparer,
205 crate::system::object::Object,
206 crate::system::object::Object,
207 ::unity::OptionalMethod,
208 ) -> i32 = ::core::mem::transmute(__vi.method_ptr);
209 let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
210 __inner(__receiver, ::core::convert::Into::into(a), ::core::convert::Into::into(b), __mi)
211 }
212 }
213 }
214 #[doc = "`.ctor()` overload"]
215 fn ctor(self) -> () {
216 unsafe {
217 let __receiver = <Sort_ElementComparer as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
218 ::unity::il2cpp_call!((::unity::module_base()+0x1d728c0usize)as*mut u8,();
219(Sort_ElementComparer)__receiver)
220 }
221 }
222}
223
224#[cfg(feature = "app-sort")]
225impl<__T: ISort_ElementComparer> ISort_ElementComparerMethods for __T {}
226
227#[cfg(feature = "app-sort")]
228impl Sort_ElementComparer {
229 pub fn compare_method_info() -> &'static ::unity::il2cpp::MethodInfo {
230 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
231 }
232
233 pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
234 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
235 }
236}
237
238#[cfg(feature = "app-sort")]
239impl Sort_ElementComparer {
240 #[doc = "Direct (non-virtual) call to `Sort_ElementComparer`'s own `Compare`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
241 pub unsafe fn compare(
242 this: impl ::core::convert::Into<::unity::IlInstance>,
243 a: crate::system::object::Object,
244 b: crate::system::object::Object,
245 ) -> i32 {
246 let __mi = Self::compare_method_info();
247 let __inner: extern "C" fn(
248 ::unity::IlInstance,
249 crate::system::object::Object,
250 crate::system::object::Object,
251 ::unity::OptionalMethod,
252 ) -> i32 = ::core::mem::transmute(__mi.method_ptr);
253 __inner(this.into(), a, b, ::core::option::Option::None)
254 }
255}
256
257#[cfg(feature = "app-sort")]
258impl Sort_ElementComparer {
259 #[doc = "`.ctor()` — no args"]
260 pub fn new() -> Self {
261 let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
262 panic!(
263 "{}
264::{}
265 failed to instantiate",
266 ::core::stringify!(Sort_ElementComparer),
267 ::core::stringify!(new),
268 )
269 });
270 <Self as ISort_ElementComparerMethods>::ctor(this);
271 this
272 }
273}
274
275#[cfg(feature = "app-sort")]
276#[doc(hidden)]
277pub mod prelude {
278 pub use super::{ISort, ISortMethods, ISort_ElementComparer, ISort_ElementComparerMethods, Sort, Sort_ElementComparer};
279 #[cfg(feature = "app-sortconstant")]
280 pub use crate::app::sortconstant::ISortConstantMethods;
281 #[cfg(feature = "system-object")]
282 pub use crate::system::object::IObjectMethods;
283 pub use crate::{app::sortconstant::ISortConstant, system::object::IObject};
284}