Skip to main content

engage/generated/app/
grassmanager.rs

1// @generated by il2cpp-bindgen — do not edit by hand.
2
3#[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}