1#[cfg(feature = "app-grassmanager-types")]
4mod __types {
5 #[allow(unused_imports)] use ::unity::prelude::*;
6
7 use super::*;
8 use crate::{
9 system::{
10 object::{IObject, Object},
11 r#enum::{Enum, IEnum},
12 valuetype::{IValueType, ValueType},
13 },
14 unity_engine::{
15 behaviour::{Behaviour, IBehaviour},
16 component::{Component, IComponent},
17 monobehaviour::{IMonoBehaviour, MonoBehaviour},
18 object_2::{IObject_2, Object_2},
19 },
20 };
21
22 #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/app/grassmanager/GrassManager.md"))]
23 #[::unity::class(namespace = "App", name = "GrassManager")]
24 #[parent(crate::unity_engine::monobehaviour::MonoBehaviour)]
25 pub struct GrassManager {
26 #[offset(24)]
27 #[rename(name = "m_grassData")]
28 pub m_grass_data: crate::app::grassdata::GrassData,
29 #[offset(32)]
30 #[rename(name = "m_referenceTransform")]
31 pub m_reference_transform: crate::system::collections::generic::list_1::List_1<crate::unity_engine::transform::Transform>,
32 #[offset(40)]
33 #[rename(name = "m_grassMaterials")]
34 pub m_grass_materials: crate::system::collections::generic::list_1::List_1<crate::unity_engine::material::Material>,
35 #[offset(48)]
36 #[rename(name = "m_grassTexture")]
37 pub m_grass_texture: crate::unity_engine::texture::Texture,
38 #[offset(56)]
39 #[rename(name = "m_enableCustomGroundTexture")]
40 pub m_enable_custom_ground_texture: bool,
41 #[offset(64)]
42 #[rename(name = "m_groundTextures")]
43 pub m_ground_textures: crate::system::collections::generic::list_1::List_1<crate::unity_engine::texture2d::Texture2D>,
44 #[offset(72)]
45 #[rename(name = "m_cutoff")]
46 pub m_cutoff: f32,
47 #[offset(76)]
48 #[rename(name = "m_drawDistance")]
49 pub m_draw_distance: f32,
50 #[offset(80)]
51 #[rename(name = "m_isDistanceClipScaleFading")]
52 pub m_is_distance_clip_scale_fading: bool,
53 #[offset(84)]
54 #[rename(name = "m_distanceClipScale")]
55 pub m_distance_clip_scale: crate::unity_engine::vector2::Vector2,
56 #[offset(92)]
57 #[rename(name = "m_isOverrideDownParams")]
58 pub m_is_override_down_params: bool,
59 #[offset(96)]
60 #[rename(name = "m_nearClipDistance")]
61 pub m_near_clip_distance: f32,
62 #[offset(100)]
63 #[rename(name = "m_nearDownDistance")]
64 pub m_near_down_distance: f32,
65 #[offset(104)]
66 #[rename(name = "m_nearDownOffset")]
67 pub m_near_down_offset: f32,
68 #[offset(108)]
69 #[rename(name = "m_groundColorWindRatio")]
70 pub m_ground_color_wind_ratio: f32,
71 #[offset(112)]
72 #[rename(name = "m_waveTintColor")]
73 pub m_wave_tint_color: crate::unity_engine::color::Color,
74 #[offset(128)]
75 #[rename(name = "m_waveSpeed")]
76 pub m_wave_speed: f32,
77 #[offset(132)]
78 #[rename(name = "m_waveSize")]
79 pub m_wave_size: f32,
80 #[offset(136)]
81 #[rename(name = "m_waveBlending")]
82 pub m_wave_blending: f32,
83 #[offset(140)]
84 #[rename(name = "m_grassBrightness")]
85 pub m_grass_brightness: f32,
86 #[offset(144)]
87 #[rename(name = "m_grassTintColor")]
88 pub m_grass_tint_color: crate::unity_engine::color::Color,
89 #[offset(160)]
90 #[rename(name = "m_groundColorCoefficient")]
91 pub m_ground_color_coefficient: f32,
92 #[offset(164)]
93 #[rename(name = "m_groundColorGradationScale")]
94 pub m_ground_color_gradation_scale: f32,
95 #[offset(168)]
96 #[rename(name = "m_groundColorMixType")]
97 pub m_ground_color_mix_type: crate::app::grassmanager::GrassManager_MixType,
98 #[offset(172)]
99 #[rename(name = "m_lightingMin")]
100 pub m_lighting_min: f32,
101 #[offset(176)]
102 #[rename(name = "m_interactionRadius")]
103 pub m_interaction_radius: f32,
104 #[offset(180)]
105 #[rename(name = "m_interactionAngle")]
106 pub m_interaction_angle: i32,
107 #[offset(184)]
108 #[rename(name = "m_interactionHeightCorrection")]
109 pub m_interaction_height_correction: f32,
110 #[offset(188)]
111 #[rename(name = "m_interactionCenterPropertyId")]
112 pub m_interaction_center_property_id: i32,
113 #[static_field]
114 #[rename(name = "kGroundUVFromMeshKeyword")]
115 pub k_ground_uv_from_mesh_keyword: ::unity::Il2CppString,
116 #[static_field]
117 #[rename(name = "kLightmapKeyword")]
118 pub k_lightmap_keyword: ::unity::Il2CppString,
119 }
120
121 #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/app/grassmanager/GrassManager_MixType.md"))]
122 #[repr(C)]
123 #[derive(::core::clone::Clone, ::core::marker::Copy, ::core::fmt::Debug, ::core::cmp::PartialEq, ::core::cmp::Eq)]
124 pub struct GrassManager_MixType {
125 pub value: i32,
126 }
127 impl ::unity::ClassIdentity for GrassManager_MixType {
128 const NAME: &'static str = "GrassManager.MixType";
129 const NAMESPACE: &'static str = "App";
130
131 fn class() -> ::unity::Class {
132 static CACHE: ::std::sync::OnceLock<::unity::Class> = ::std::sync::OnceLock::new();
133 *CACHE.get_or_init(|| ::unity::Class::lookup(Self::NAMESPACE, Self::NAME))
134 }
135 }
136 impl ::unity::IlType for GrassManager_MixType {
137 fn il_type() -> &'static ::unity::il2cpp::Il2CppType {
138 &<Self as ::unity::ClassIdentity>::class().raw()._1.byval_arg
139 }
140 }
141 impl GrassManager_MixType {
142 pub fn hard() -> Self {
143 Self { value: 0 }
144 }
145
146 pub fn soft() -> Self {
147 Self { value: 1 }
148 }
149
150 pub fn lerp_ps() -> Self {
151 Self { value: 2 }
152 }
153 }
154}
155
156#[cfg(feature = "app-grassmanager-types")]
157pub use __types::*;
158
159#[cfg(feature = "app-grassmanager")]
160impl GrassManager {
161 #[doc = "`GetAtlasTexture(crate::unity_engine::u2d::spriteatlas::SpriteAtlas)` overload"]
162 pub fn get_atlas_texture(
163 atlas: impl ::core::convert::Into<crate::unity_engine::u2d::spriteatlas::SpriteAtlas>,
164 ) -> crate::unity_engine::texture2d::Texture2D {
165 unsafe {
166 ::unity::il2cpp_call!((::unity::module_base()+0x234cbf0usize)as*mut u8,crate::unity_engine::texture2d::Texture2D;
167(crate::unity_engine::u2d::spriteatlas::SpriteAtlas)::core::convert::Into::into(atlas))
168 }
169 }
170}
171
172#[cfg(feature = "app-grassmanager")]
173pub trait IGrassManagerMethods: IGrassManager {
174 #[doc = "`get_ReferenceTransformNum()` overload"]
175 fn get_reference_transform_num(self) -> i32 {
176 unsafe {
177 let __receiver = <GrassManager as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
178 ::unity::il2cpp_call!((::unity::module_base()+0x234bdd0usize)as*mut u8,i32;
179(GrassManager)__receiver)
180 }
181 }
182 #[doc = "`set_GrassData(crate::app::grassdata::GrassData)` overload"]
183 fn set_grass_data(self, value: impl ::core::convert::Into<crate::app::grassdata::GrassData>) -> () {
184 unsafe {
185 let __receiver = <GrassManager as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
186 ::unity::il2cpp_call!((::unity::module_base()+0x234be30usize)as*mut u8,();
187(GrassManager)__receiver,(crate::app::grassdata::GrassData)::core::convert::Into::into(value))
188 }
189 }
190 #[doc = "`get_GrassData()` overload"]
191 fn get_grass_data(self) -> crate::app::grassdata::GrassData {
192 unsafe {
193 let __receiver = <GrassManager as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
194 ::unity::il2cpp_call!((::unity::module_base()+0x234be40usize)as*mut u8,crate::app::grassdata::GrassData;
195(GrassManager)__receiver)
196 }
197 }
198 #[doc = "`get_HasTerrain()` overload"]
199 fn get_has_terrain(self) -> bool {
200 unsafe {
201 let __receiver = <GrassManager as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
202 {
203 let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
204 let __vi = *__vt.get(4usize).unwrap_or_else(|| {
205 panic!(
206 "unity: virtual slot {}
207 out of range (vtable len {}
208) on the runtime class behind {}
209 (method `{}
210`)",
211 4usize,
212 __vt.len(),
213 <GrassManager as ::unity::ClassIdentity>::NAME,
214 "get_HasTerrain",
215 )
216 });
217 let __inner: extern "C" fn(GrassManager, ::unity::OptionalMethod) -> bool = ::core::mem::transmute(__vi.method_ptr);
218 let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
219 __inner(__receiver, __mi)
220 }
221 }
222 }
223 #[doc = "`Awake()` overload"]
224 fn awake(self) -> () {
225 unsafe {
226 let __receiver = <GrassManager as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
227 ::unity::il2cpp_call!((::unity::module_base()+0x234be60usize)as*mut u8,();
228(GrassManager)__receiver)
229 }
230 }
231 #[doc = "`OnEnable()` overload"]
232 fn on_enable(self) -> () {
233 unsafe {
234 let __receiver = <GrassManager as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
235 ::unity::il2cpp_call!((::unity::module_base()+0x234c040usize)as*mut u8,();
236(GrassManager)__receiver)
237 }
238 }
239 #[doc = "`GetMaterial(i32)` overload"]
240 fn get_material(self, index: impl ::core::convert::Into<i32>) -> crate::unity_engine::material::Material {
241 unsafe {
242 let __receiver = <GrassManager as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
243 ::unity::il2cpp_call!((::unity::module_base()+0x234c050usize)as*mut u8,crate::unity_engine::material::Material;
244(GrassManager)__receiver,(i32)::core::convert::Into::into(index))
245 }
246 }
247 #[doc = "`GetTexture(i32)` overload"]
248 fn get_texture(self, index: impl ::core::convert::Into<i32>) -> crate::unity_engine::texture2d::Texture2D {
249 unsafe {
250 let __receiver = <GrassManager as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
251 ::unity::il2cpp_call!((::unity::module_base()+0x234c0f0usize)as*mut u8,crate::unity_engine::texture2d::Texture2D;
252(GrassManager)__receiver,(i32)::core::convert::Into::into(index))
253 }
254 }
255 #[doc = "`SetInteractionCenter(crate::unity_engine::vector3::Vector3)` overload"]
256 fn set_interaction_center(self, position: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>) -> () {
257 unsafe {
258 let __receiver = <GrassManager as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
259 ::unity::il2cpp_call!((::unity::module_base()+0x234c190usize)as*mut u8,();
260(GrassManager)__receiver,(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(position))
261 }
262 }
263 #[doc = "`Setup()` overload"]
264 fn setup(self) -> () {
265 unsafe {
266 let __receiver = <GrassManager as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
267 ::unity::il2cpp_call!((::unity::module_base()+0x234be70usize)as*mut u8,();
268(GrassManager)__receiver)
269 }
270 }
271 #[doc = "`SetupMaterial()` overload"]
272 fn setup_material(self) -> () {
273 unsafe {
274 let __receiver = <GrassManager as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
275 ::unity::il2cpp_call!((::unity::module_base()+0x234c420usize)as*mut u8,();
276(GrassManager)__receiver)
277 }
278 }
279 #[doc = "`UpdateMaterialParameter()` overload"]
280 fn update_material_parameter(self) -> () {
281 unsafe {
282 let __receiver = <GrassManager as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
283 ::unity::il2cpp_call!((::unity::module_base()+0x234ca70usize)as*mut u8,();
284(GrassManager)__receiver)
285 }
286 }
287 #[doc = "`UpdateMaterialParameter(i32)` overload"]
288 fn update_material_parameter_2(self, mesh_index: impl ::core::convert::Into<i32>) -> () {
289 unsafe {
290 let __receiver = <GrassManager as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
291 ::unity::il2cpp_call!((::unity::module_base()+0x234ccf0usize)as*mut u8,();
292(GrassManager)__receiver,(i32)::core::convert::Into::into(mesh_index))
293 }
294 }
295 #[doc = "`UpdateLightmap()` overload"]
296 fn update_lightmap(self) -> () {
297 unsafe {
298 let __receiver = <GrassManager as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
299 ::unity::il2cpp_call!((::unity::module_base()+0x234d500usize)as*mut u8,();
300(GrassManager)__receiver)
301 }
302 }
303 #[doc = "`UpdateLightmap(i32)` overload"]
304 fn update_lightmap_2(self, mesh_index: impl ::core::convert::Into<i32>) -> () {
305 unsafe {
306 let __receiver = <GrassManager as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
307 ::unity::il2cpp_call!((::unity::module_base()+0x234d660usize)as*mut u8,();
308(GrassManager)__receiver,(i32)::core::convert::Into::into(mesh_index))
309 }
310 }
311 #[doc = "`SetMaterialToChildrenAll()` overload"]
312 fn set_material_to_children_all(self) -> () {
313 unsafe {
314 let __receiver = <GrassManager as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
315 ::unity::il2cpp_call!((::unity::module_base()+0x234cb50usize)as*mut u8,();
316(GrassManager)__receiver)
317 }
318 }
319 #[doc = "`SetMaterialToChildren(crate::unity_engine::transform::Transform, i32)` overload"]
320 fn set_material_to_children(
321 self,
322 parent: impl ::core::convert::Into<crate::unity_engine::transform::Transform>,
323 mesh_index: impl ::core::convert::Into<i32>,
324 ) -> () {
325 unsafe {
326 let __receiver = <GrassManager as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
327 ::unity::il2cpp_call!((::unity::module_base()+0x234d8c0usize)as*mut u8,();
328(GrassManager)__receiver,(crate::unity_engine::transform::Transform)::core::convert::Into::into(parent),(i32)::core::convert::Into::into(mesh_index))
329 }
330 }
331 #[doc = "`SetNotEditableToChildren()` overload"]
332 fn set_not_editable_to_children(self) -> () {
333 unsafe {
334 let __receiver = <GrassManager as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
335 ::unity::il2cpp_call!((::unity::module_base()+0x234da20usize)as*mut u8,();
336(GrassManager)__receiver)
337 }
338 }
339 #[doc = "`SetEditableToChildren()` overload"]
340 fn set_editable_to_children(self) -> () {
341 unsafe {
342 let __receiver = <GrassManager as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
343 ::unity::il2cpp_call!((::unity::module_base()+0x234dbe0usize)as*mut u8,();
344(GrassManager)__receiver)
345 }
346 }
347 #[doc = "`SetGrassMaterialKeyword(i32, ::unity::Il2CppString, bool)` overload"]
348 fn set_grass_material_keyword(
349 self,
350 material_index: impl ::core::convert::Into<i32>,
351 keyword: impl ::core::convert::Into<::unity::Il2CppString>,
352 enabled: impl ::core::convert::Into<bool>,
353 ) -> () {
354 unsafe {
355 let __receiver = <GrassManager as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
356 ::unity::il2cpp_call!((::unity::module_base()+0x234d590usize)as*mut u8,();
357(GrassManager)__receiver,(i32)::core::convert::Into::into(material_index),(::unity::Il2CppString)::core::convert::Into::into(keyword),(bool)::core::convert::Into::into(enabled))
358 }
359 }
360 #[doc = "`FindGrassMeshParentTransform(crate::unity_engine::transform::Transform, i32)` overload"]
361 fn find_grass_mesh_parent_transform(
362 self,
363 parent: impl ::core::convert::Into<crate::unity_engine::transform::Transform>,
364 mesh_index: impl ::core::convert::Into<i32>,
365 ) -> crate::unity_engine::transform::Transform {
366 unsafe {
367 let __receiver = <GrassManager as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
368 {
369 let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
370 let __vi = *__vt.get(5usize).unwrap_or_else(|| {
371 panic!(
372 "unity: virtual slot {}
373 out of range (vtable len {}
374) on the runtime class behind {}
375 (method `{}
376`)",
377 5usize,
378 __vt.len(),
379 <GrassManager as ::unity::ClassIdentity>::NAME,
380 "FindGrassMeshParentTransform",
381 )
382 });
383 let __inner: extern "C" fn(
384 GrassManager,
385 crate::unity_engine::transform::Transform,
386 i32,
387 ::unity::OptionalMethod,
388 ) -> crate::unity_engine::transform::Transform = ::core::mem::transmute(__vi.method_ptr);
389 let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
390 __inner(
391 __receiver,
392 ::core::convert::Into::into(parent),
393 ::core::convert::Into::into(mesh_index),
394 __mi,
395 )
396 }
397 }
398 }
399 #[doc = "`InitRefrenceTransform()` overload"]
400 fn init_refrence_transform(self) -> () {
401 unsafe {
402 let __receiver = <GrassManager as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
403 ::unity::il2cpp_call!((::unity::module_base()+0x234c330usize)as*mut u8,();
404(GrassManager)__receiver)
405 }
406 }
407 #[doc = "`CalcReferenceTransformNum()` overload"]
408 fn calc_reference_transform_num(self) -> i32 {
409 unsafe {
410 let __receiver = <GrassManager as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
411 {
412 let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
413 let __vi = *__vt.get(6usize).unwrap_or_else(|| {
414 panic!(
415 "unity: virtual slot {}
416 out of range (vtable len {}
417) on the runtime class behind {}
418 (method `{}
419`)",
420 6usize,
421 __vt.len(),
422 <GrassManager as ::unity::ClassIdentity>::NAME,
423 "CalcReferenceTransformNum",
424 )
425 });
426 let __inner: extern "C" fn(GrassManager, ::unity::OptionalMethod) -> i32 = ::core::mem::transmute(__vi.method_ptr);
427 let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
428 __inner(__receiver, __mi)
429 }
430 }
431 }
432 #[doc = "`FindGroundTransformIndex(crate::unity_engine::transform::Transform)` overload"]
433 fn find_ground_transform_index(self, search_target_transform: impl ::core::convert::Into<crate::unity_engine::transform::Transform>) -> i32 {
434 unsafe {
435 let __receiver = <GrassManager as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
436 ::unity::il2cpp_call!((::unity::module_base()+0x234dea0usize)as*mut u8,i32;
437(GrassManager)__receiver,(crate::unity_engine::transform::Transform)::core::convert::Into::into(search_target_transform))
438 }
439 }
440 #[doc = "`GetFieldSizeOffset(*mutcrate::unity_engine::vector3::Vector3, *mutcrate::unity_engine::vector3::Vector3)` overload"]
441 fn get_field_size_offset(self) -> (bool, crate::unity_engine::vector3::Vector3, crate::unity_engine::vector3::Vector3) {
442 unsafe {
443 let __receiver = <GrassManager as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
444 let mut __out_0 = ::core::mem::MaybeUninit::<crate::unity_engine::vector3::Vector3>::uninit();
445 let mut __out_1 = ::core::mem::MaybeUninit::<crate::unity_engine::vector3::Vector3>::uninit();
446 let __ret = {
447 {
448 let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
449 let __vi = *__vt.get(8usize).unwrap_or_else(|| {
450 panic!(
451 "unity: virtual slot {}
452 out of range (vtable len {}
453) on the runtime class behind {}
454 (method `{}
455`)",
456 8usize,
457 __vt.len(),
458 <GrassManager as ::unity::ClassIdentity>::NAME,
459 "GetFieldSizeOffset",
460 )
461 });
462 let __inner: extern "C" fn(
463 GrassManager,
464 *mut crate::unity_engine::vector3::Vector3,
465 *mut crate::unity_engine::vector3::Vector3,
466 ::unity::OptionalMethod,
467 ) -> bool = ::core::mem::transmute(__vi.method_ptr);
468 let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
469 __inner(__receiver, __out_0.as_mut_ptr(), __out_1.as_mut_ptr(), __mi)
470 }
471 };
472 (__ret, __out_0.assume_init(), __out_1.assume_init())
473 }
474 }
475 #[doc = "`GetLightmapData(i32, *muti32, *mutcrate::unity_engine::vector4::Vector4)` overload"]
476 fn get_lightmap_data(self, mesh_index: impl ::core::convert::Into<i32>) -> (bool, i32, crate::unity_engine::vector4::Vector4) {
477 unsafe {
478 let __receiver = <GrassManager as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
479 let mut __out_0 = ::core::mem::MaybeUninit::<i32>::uninit();
480 let mut __out_1 = ::core::mem::MaybeUninit::<crate::unity_engine::vector4::Vector4>::uninit();
481 let __ret = {
482 {
483 let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
484 let __vi = *__vt.get(9usize).unwrap_or_else(|| {
485 panic!(
486 "unity: virtual slot {}
487 out of range (vtable len {}
488) on the runtime class behind {}
489 (method `{}
490`)",
491 9usize,
492 __vt.len(),
493 <GrassManager as ::unity::ClassIdentity>::NAME,
494 "GetLightmapData",
495 )
496 });
497 let __inner: extern "C" fn(
498 GrassManager,
499 i32,
500 *mut i32,
501 *mut crate::unity_engine::vector4::Vector4,
502 ::unity::OptionalMethod,
503 ) -> bool = ::core::mem::transmute(__vi.method_ptr);
504 let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
505 __inner(
506 __receiver,
507 ::core::convert::Into::into(mesh_index),
508 __out_0.as_mut_ptr(),
509 __out_1.as_mut_ptr(),
510 __mi,
511 )
512 }
513 };
514 (__ret, __out_0.assume_init(), __out_1.assume_init())
515 }
516 }
517 #[doc = "`FindGroundTexture(i32)` overload"]
518 fn find_ground_texture(self, mesh_index: impl ::core::convert::Into<i32>) -> crate::unity_engine::texture2d::Texture2D {
519 unsafe {
520 let __receiver = <GrassManager as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
521 {
522 let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
523 let __vi = *__vt.get(10usize).unwrap_or_else(|| {
524 panic!(
525 "unity: virtual slot {}
526 out of range (vtable len {}
527) on the runtime class behind {}
528 (method `{}
529`)",
530 10usize,
531 __vt.len(),
532 <GrassManager as ::unity::ClassIdentity>::NAME,
533 "FindGroundTexture",
534 )
535 });
536 let __inner: extern "C" fn(GrassManager, i32, ::unity::OptionalMethod) -> crate::unity_engine::texture2d::Texture2D =
537 ::core::mem::transmute(__vi.method_ptr);
538 let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
539 __inner(__receiver, ::core::convert::Into::into(mesh_index), __mi)
540 }
541 }
542 }
543 #[doc = "`.ctor()` overload"]
544 fn ctor(self) -> () {
545 unsafe {
546 let __receiver = <GrassManager as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
547 ::unity::il2cpp_call!((::unity::module_base()+0x234e470usize)as*mut u8,();
548(GrassManager)__receiver)
549 }
550 }
551}
552
553#[cfg(feature = "app-grassmanager")]
554impl<__T: IGrassManager> IGrassManagerMethods for __T {}
555
556#[cfg(feature = "app-grassmanager")]
557impl GrassManager {
558 pub fn get_reference_transform_num_method_info() -> &'static ::unity::il2cpp::MethodInfo {
559 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
560 }
561
562 pub fn set_grass_data_method_info() -> &'static ::unity::il2cpp::MethodInfo {
563 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
564 }
565
566 pub fn get_grass_data_method_info() -> &'static ::unity::il2cpp::MethodInfo {
567 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
568 }
569
570 pub fn get_has_terrain_method_info() -> &'static ::unity::il2cpp::MethodInfo {
571 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[3]
572 }
573
574 pub fn awake_method_info() -> &'static ::unity::il2cpp::MethodInfo {
575 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[4]
576 }
577
578 pub fn on_enable_method_info() -> &'static ::unity::il2cpp::MethodInfo {
579 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[5]
580 }
581
582 pub fn get_material_method_info() -> &'static ::unity::il2cpp::MethodInfo {
583 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[6]
584 }
585
586 pub fn get_texture_method_info() -> &'static ::unity::il2cpp::MethodInfo {
587 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[7]
588 }
589
590 pub fn set_interaction_center_method_info() -> &'static ::unity::il2cpp::MethodInfo {
591 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[8]
592 }
593
594 pub fn setup_method_info() -> &'static ::unity::il2cpp::MethodInfo {
595 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[9]
596 }
597
598 pub fn get_atlas_texture_method_info() -> &'static ::unity::il2cpp::MethodInfo {
599 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[10]
600 }
601
602 pub fn setup_material_method_info() -> &'static ::unity::il2cpp::MethodInfo {
603 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[11]
604 }
605
606 pub fn update_material_parameter_method_info() -> &'static ::unity::il2cpp::MethodInfo {
607 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[12]
608 }
609
610 pub fn update_material_parameter_2_method_info() -> &'static ::unity::il2cpp::MethodInfo {
611 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[13]
612 }
613
614 pub fn update_lightmap_method_info() -> &'static ::unity::il2cpp::MethodInfo {
615 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[14]
616 }
617
618 pub fn update_lightmap_2_method_info() -> &'static ::unity::il2cpp::MethodInfo {
619 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[15]
620 }
621
622 pub fn set_material_to_children_all_method_info() -> &'static ::unity::il2cpp::MethodInfo {
623 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[16]
624 }
625
626 pub fn set_material_to_children_method_info() -> &'static ::unity::il2cpp::MethodInfo {
627 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[17]
628 }
629
630 pub fn set_not_editable_to_children_method_info() -> &'static ::unity::il2cpp::MethodInfo {
631 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[18]
632 }
633
634 pub fn set_editable_to_children_method_info() -> &'static ::unity::il2cpp::MethodInfo {
635 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[19]
636 }
637
638 pub fn set_grass_material_keyword_method_info() -> &'static ::unity::il2cpp::MethodInfo {
639 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[20]
640 }
641
642 pub fn find_grass_mesh_parent_transform_method_info() -> &'static ::unity::il2cpp::MethodInfo {
643 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[21]
644 }
645
646 pub fn init_refrence_transform_method_info() -> &'static ::unity::il2cpp::MethodInfo {
647 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[22]
648 }
649
650 pub fn calc_reference_transform_num_method_info() -> &'static ::unity::il2cpp::MethodInfo {
651 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[23]
652 }
653
654 pub fn find_ground_transform_index_method_info() -> &'static ::unity::il2cpp::MethodInfo {
655 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[25]
656 }
657
658 pub fn get_field_size_offset_method_info() -> &'static ::unity::il2cpp::MethodInfo {
659 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[26]
660 }
661
662 pub fn get_lightmap_data_method_info() -> &'static ::unity::il2cpp::MethodInfo {
663 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[27]
664 }
665
666 pub fn find_ground_texture_method_info() -> &'static ::unity::il2cpp::MethodInfo {
667 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[28]
668 }
669
670 pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
671 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[29]
672 }
673}
674
675#[cfg(feature = "app-grassmanager")]
676impl GrassManager {
677 #[doc = "Direct (non-virtual) call to `GrassManager`'s own `get_HasTerrain`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
678 pub unsafe fn get_has_terrain(this: impl ::core::convert::Into<::unity::IlInstance>) -> bool {
679 let __mi = Self::get_has_terrain_method_info();
680 let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> bool = ::core::mem::transmute(__mi.method_ptr);
681 __inner(this.into(), ::core::option::Option::None)
682 }
683
684 #[doc = "Direct (non-virtual) call to `GrassManager`'s own `FindGrassMeshParentTransform`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
685 pub unsafe fn find_grass_mesh_parent_transform(
686 this: impl ::core::convert::Into<::unity::IlInstance>,
687 parent: crate::unity_engine::transform::Transform,
688 mesh_index: i32,
689 ) -> crate::unity_engine::transform::Transform {
690 let __mi = Self::find_grass_mesh_parent_transform_method_info();
691 let __inner: extern "C" fn(
692 ::unity::IlInstance,
693 crate::unity_engine::transform::Transform,
694 i32,
695 ::unity::OptionalMethod,
696 ) -> crate::unity_engine::transform::Transform = ::core::mem::transmute(__mi.method_ptr);
697 __inner(this.into(), parent, mesh_index, ::core::option::Option::None)
698 }
699
700 #[doc = "Direct (non-virtual) call to `GrassManager`'s own `CalcReferenceTransformNum`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
701 pub unsafe fn calc_reference_transform_num(this: impl ::core::convert::Into<::unity::IlInstance>) -> i32 {
702 let __mi = Self::calc_reference_transform_num_method_info();
703 let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> i32 = ::core::mem::transmute(__mi.method_ptr);
704 __inner(this.into(), ::core::option::Option::None)
705 }
706
707 #[doc = "Direct (non-virtual) call to `GrassManager`'s own `GetFieldSizeOffset`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
708 pub unsafe fn get_field_size_offset(
709 this: impl ::core::convert::Into<::unity::IlInstance>,
710 size: *mut crate::unity_engine::vector3::Vector3,
711 offset: *mut crate::unity_engine::vector3::Vector3,
712 ) -> bool {
713 let __mi = Self::get_field_size_offset_method_info();
714 let __inner: extern "C" fn(
715 ::unity::IlInstance,
716 *mut crate::unity_engine::vector3::Vector3,
717 *mut crate::unity_engine::vector3::Vector3,
718 ::unity::OptionalMethod,
719 ) -> bool = ::core::mem::transmute(__mi.method_ptr);
720 __inner(this.into(), size, offset, ::core::option::Option::None)
721 }
722
723 #[doc = "Direct (non-virtual) call to `GrassManager`'s own `GetLightmapData`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
724 pub unsafe fn get_lightmap_data(
725 this: impl ::core::convert::Into<::unity::IlInstance>,
726 mesh_index: i32,
727 index: *mut i32,
728 scale_offset: *mut crate::unity_engine::vector4::Vector4,
729 ) -> bool {
730 let __mi = Self::get_lightmap_data_method_info();
731 let __inner: extern "C" fn(::unity::IlInstance, i32, *mut i32, *mut crate::unity_engine::vector4::Vector4, ::unity::OptionalMethod) -> bool =
732 ::core::mem::transmute(__mi.method_ptr);
733 __inner(this.into(), mesh_index, index, scale_offset, ::core::option::Option::None)
734 }
735
736 #[doc = "Direct (non-virtual) call to `GrassManager`'s own `FindGroundTexture`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
737 pub unsafe fn find_ground_texture(
738 this: impl ::core::convert::Into<::unity::IlInstance>,
739 mesh_index: i32,
740 ) -> crate::unity_engine::texture2d::Texture2D {
741 let __mi = Self::find_ground_texture_method_info();
742 let __inner: extern "C" fn(::unity::IlInstance, i32, ::unity::OptionalMethod) -> crate::unity_engine::texture2d::Texture2D =
743 ::core::mem::transmute(__mi.method_ptr);
744 __inner(this.into(), mesh_index, ::core::option::Option::None)
745 }
746}
747
748#[cfg(feature = "app-grassmanager")]
749impl GrassManager {
750 #[doc = "`.ctor()` — no args"]
751 pub fn new() -> Self {
752 let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
753 panic!(
754 "{}
755::{}
756 failed to instantiate",
757 ::core::stringify!(GrassManager),
758 ::core::stringify!(new),
759 )
760 });
761 <Self as IGrassManagerMethods>::ctor(this);
762 this
763 }
764}
765
766#[cfg(feature = "app-grassmanager")]
767#[doc(hidden)]
768pub mod prelude {
769 pub use super::{GrassManager, GrassManager_MixType, IGrassManager, IGrassManagerMethods};
770 #[cfg(feature = "system-object")]
771 pub use crate::system::object::IObjectMethods;
772 #[cfg(feature = "system-enum")]
773 pub use crate::system::r#enum::IEnumMethods;
774 #[cfg(feature = "system-valuetype")]
775 pub use crate::system::valuetype::IValueTypeMethods;
776 #[cfg(feature = "unity_engine-behaviour")]
777 pub use crate::unity_engine::behaviour::IBehaviourMethods;
778 #[cfg(feature = "unity_engine-component")]
779 pub use crate::unity_engine::component::IComponentMethods;
780 #[cfg(feature = "unity_engine-monobehaviour")]
781 pub use crate::unity_engine::monobehaviour::IMonoBehaviourMethods;
782 #[cfg(feature = "unity_engine-object_2")]
783 pub use crate::unity_engine::object_2::IObject_2Methods;
784 pub use crate::{
785 system::{object::IObject, r#enum::IEnum, valuetype::IValueType},
786 unity_engine::{behaviour::IBehaviour, component::IComponent, monobehaviour::IMonoBehaviour, object_2::IObject_2},
787 };
788}