engage/generated/app/water/
waterv2.rs1#[cfg(feature = "app-water-waterv2-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/water/waterv2/WaterV2.md"))]
23 #[::unity::class(namespace = "App.Water", name = "WaterV2")]
24 #[parent(crate::unity_engine::monobehaviour::MonoBehaviour)]
25 pub struct WaterV2 {
26 #[offset(24)]
27 #[rename(name = "waterMode")]
28 pub water_mode: crate::app::water::waterv2::WaterV2_WaterMode,
29 #[offset(28)]
30 #[rename(name = "disablePixelLights")]
31 pub disable_pixel_lights: bool,
32 #[offset(32)]
33 #[rename(name = "textureSize")]
34 pub texture_size: i32,
35 #[offset(36)]
36 #[rename(name = "clipPlaneOffset")]
37 pub clip_plane_offset: f32,
38 #[offset(40)]
39 #[rename(name = "reflectLayers")]
40 pub reflect_layers: crate::unity_engine::layermask::LayerMask,
41 #[offset(44)]
42 #[rename(name = "refractLayers")]
43 pub refract_layers: crate::unity_engine::layermask::LayerMask,
44 #[offset(48)]
45 #[rename(name = "m_ReflectionCameras")]
46 pub m_reflection_cameras:
47 crate::system::collections::generic::dictionary_2::Dictionary_2<crate::unity_engine::camera::Camera, crate::unity_engine::camera::Camera>,
48 #[offset(56)]
49 #[rename(name = "m_RefractionCameras")]
50 pub m_refraction_cameras:
51 crate::system::collections::generic::dictionary_2::Dictionary_2<crate::unity_engine::camera::Camera, crate::unity_engine::camera::Camera>,
52 #[offset(64)]
53 #[rename(name = "m_ReflectionTexture")]
54 pub m_reflection_texture: crate::unity_engine::rendertexture::RenderTexture,
55 #[offset(72)]
56 #[rename(name = "m_RefractionTexture")]
57 pub m_refraction_texture: crate::unity_engine::rendertexture::RenderTexture,
58 #[offset(80)]
59 #[rename(name = "m_HardwareWaterSupport")]
60 pub m_hardware_water_support: crate::app::water::waterv2::WaterV2_WaterMode,
61 #[offset(84)]
62 #[rename(name = "m_OldReflectionTextureSize")]
63 pub m_old_reflection_texture_size: i32,
64 #[offset(88)]
65 #[rename(name = "m_OldRefractionTextureSize")]
66 pub m_old_refraction_texture_size: i32,
67 #[static_field]
68 #[rename(name = "s_InsideWater")]
69 pub s_inside_water: bool,
70 }
71
72 #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/app/water/waterv2/WaterV2_WaterMode.md"))]
73 #[repr(C)]
74 #[derive(::core::clone::Clone, ::core::marker::Copy, ::core::fmt::Debug, ::core::cmp::PartialEq, ::core::cmp::Eq)]
75 pub struct WaterV2_WaterMode {
76 pub value: i32,
77 }
78 impl ::unity::ClassIdentity for WaterV2_WaterMode {
79 const NAME: &'static str = "WaterV2.WaterMode";
80 const NAMESPACE: &'static str = "App.Water";
81
82 fn class() -> ::unity::Class {
83 static CACHE: ::std::sync::OnceLock<::unity::Class> = ::std::sync::OnceLock::new();
84 *CACHE.get_or_init(|| ::unity::Class::lookup(Self::NAMESPACE, Self::NAME))
85 }
86 }
87 impl ::unity::IlType for WaterV2_WaterMode {
88 fn il_type() -> &'static ::unity::il2cpp::Il2CppType {
89 &<Self as ::unity::ClassIdentity>::class().raw()._1.byval_arg
90 }
91 }
92 impl WaterV2_WaterMode {
93 pub fn simple() -> Self {
94 Self { value: 0 }
95 }
96
97 pub fn reflective() -> Self {
98 Self { value: 1 }
99 }
100
101 pub fn refractive() -> Self {
102 Self { value: 2 }
103 }
104 }
105}
106
107#[cfg(feature = "app-water-waterv2-types")]
108pub use __types::*;
109
110#[cfg(feature = "app-water-waterv2")]
111impl WaterV2 {
112 #[doc = "`CalculateReflectionMatrix(*mutcrate::unity_engine::matrix4x4::Matrix4x4, crate::unity_engine::vector4::Vector4)` overload"]
113 pub fn calculate_reflection_matrix(
114 plane: impl ::core::convert::Into<crate::unity_engine::vector4::Vector4>,
115 ) -> crate::unity_engine::matrix4x4::Matrix4x4 {
116 unsafe {
117 let mut __out_0 = ::core::mem::MaybeUninit::<crate::unity_engine::matrix4x4::Matrix4x4>::uninit();
118 ::unity::il2cpp_call!((::unity::module_base()+0x21c67f0usize)as*mut u8,();
119(*mut crate::unity_engine::matrix4x4::Matrix4x4)__out_0.as_mut_ptr(),(crate::unity_engine::vector4::Vector4)::core::convert::Into::into(plane));
120 __out_0.assume_init()
121 }
122 }
123}
124
125#[cfg(feature = "app-water-waterv2")]
126pub trait IWaterV2Methods: IWaterV2 {
127 #[doc = "`OnWillRenderObject()` overload"]
128 fn on_will_render_object(self) -> () {
129 unsafe {
130 let __receiver = <WaterV2 as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
131 ::unity::il2cpp_call!((::unity::module_base()+0x21c5090usize)as*mut u8,();
132(WaterV2)__receiver)
133 }
134 }
135 #[doc = "`OnDisable()` overload"]
136 fn on_disable(self) -> () {
137 unsafe {
138 let __receiver = <WaterV2 as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
139 ::unity::il2cpp_call!((::unity::module_base()+0x21c6bd0usize)as*mut u8,();
140(WaterV2)__receiver)
141 }
142 }
143 #[doc = "`Update()` overload"]
144 fn update(self) -> () {
145 unsafe {
146 let __receiver = <WaterV2 as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
147 ::unity::il2cpp_call!((::unity::module_base()+0x21c6f50usize)as*mut u8,();
148(WaterV2)__receiver)
149 }
150 }
151 #[doc = "`UpdateCameraModes(crate::unity_engine::camera::Camera, crate::unity_engine::camera::Camera)` overload"]
152 fn update_camera_modes(
153 self,
154 src: impl ::core::convert::Into<crate::unity_engine::camera::Camera>,
155 dest: impl ::core::convert::Into<crate::unity_engine::camera::Camera>,
156 ) -> () {
157 unsafe {
158 let __receiver = <WaterV2 as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
159 ::unity::il2cpp_call!((::unity::module_base()+0x21c6590usize)as*mut u8,();
160(WaterV2)__receiver,(crate::unity_engine::camera::Camera)::core::convert::Into::into(src),(crate::unity_engine::camera::Camera)::core::convert::Into::into(dest))
161 }
162 }
163 #[doc = "`CreateWaterObjects(crate::unity_engine::camera::Camera, *mutcrate::unity_engine::camera::Camera, *mutcrate::unity_engine::camera::Camera)` overload"]
164 fn create_water_objects(
165 self,
166 current_camera: impl ::core::convert::Into<crate::unity_engine::camera::Camera>,
167 ) -> (crate::unity_engine::camera::Camera, crate::unity_engine::camera::Camera) {
168 unsafe {
169 let __receiver = <WaterV2 as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
170 let mut __out_0 = ::core::mem::MaybeUninit::<crate::unity_engine::camera::Camera>::uninit();
171 let mut __out_1 = ::core::mem::MaybeUninit::<crate::unity_engine::camera::Camera>::uninit();
172 ::unity::il2cpp_call!((::unity::module_base()+0x21c5c50usize)as*mut u8,();
173(WaterV2)__receiver,(crate::unity_engine::camera::Camera)::core::convert::Into::into(current_camera),(*mut crate::unity_engine::camera::Camera)__out_0.as_mut_ptr(),(*mut crate::unity_engine::camera::Camera)__out_1.as_mut_ptr());
174 (__out_0.assume_init(), __out_1.assume_init())
175 }
176 }
177 #[doc = "`GetWaterMode()` overload"]
178 fn get_water_mode(self) -> crate::app::water::waterv2::WaterV2_WaterMode {
179 unsafe {
180 let __receiver = <WaterV2 as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
181 ::unity::il2cpp_call!((::unity::module_base()+0x21c5c30usize)as*mut u8,crate::app::water::waterv2::WaterV2_WaterMode;
182(WaterV2)__receiver)
183 }
184 }
185 #[doc = "`FindHardwareWaterSupport()` overload"]
186 fn find_hardware_water_support(self) -> crate::app::water::waterv2::WaterV2_WaterMode {
187 unsafe {
188 let __receiver = <WaterV2 as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
189 ::unity::il2cpp_call!((::unity::module_base()+0x21c5a90usize)as*mut u8,crate::app::water::waterv2::WaterV2_WaterMode;
190(WaterV2)__receiver)
191 }
192 }
193 #[doc = "`CameraSpacePlane(crate::unity_engine::camera::Camera, crate::unity_engine::vector3::Vector3, crate::unity_engine::vector3::Vector3, f32)` overload"]
194 fn camera_space_plane(
195 self,
196 cam: impl ::core::convert::Into<crate::unity_engine::camera::Camera>,
197 pos: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
198 normal: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
199 side_sign: impl ::core::convert::Into<f32>,
200 ) -> crate::unity_engine::vector4::Vector4 {
201 unsafe {
202 let __receiver = <WaterV2 as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
203 ::unity::il2cpp_call!((::unity::module_base()+0x21c6aa0usize)as*mut u8,crate::unity_engine::vector4::Vector4;
204(WaterV2)__receiver,(crate::unity_engine::camera::Camera)::core::convert::Into::into(cam),(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(pos),(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(normal),(f32)::core::convert::Into::into(side_sign))
205 }
206 }
207 #[doc = "`.ctor()` overload"]
208 fn ctor(self) -> () {
209 unsafe {
210 let __receiver = <WaterV2 as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
211 ::unity::il2cpp_call!((::unity::module_base()+0x21c7230usize)as*mut u8,();
212(WaterV2)__receiver)
213 }
214 }
215}
216
217#[cfg(feature = "app-water-waterv2")]
218impl<__T: IWaterV2> IWaterV2Methods for __T {}
219
220#[cfg(feature = "app-water-waterv2")]
221impl WaterV2 {
222 pub fn on_will_render_object_method_info() -> &'static ::unity::il2cpp::MethodInfo {
223 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
224 }
225
226 pub fn on_disable_method_info() -> &'static ::unity::il2cpp::MethodInfo {
227 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
228 }
229
230 pub fn update_method_info() -> &'static ::unity::il2cpp::MethodInfo {
231 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
232 }
233
234 pub fn update_camera_modes_method_info() -> &'static ::unity::il2cpp::MethodInfo {
235 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[3]
236 }
237
238 pub fn create_water_objects_method_info() -> &'static ::unity::il2cpp::MethodInfo {
239 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[4]
240 }
241
242 pub fn get_water_mode_method_info() -> &'static ::unity::il2cpp::MethodInfo {
243 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[5]
244 }
245
246 pub fn find_hardware_water_support_method_info() -> &'static ::unity::il2cpp::MethodInfo {
247 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[6]
248 }
249
250 pub fn camera_space_plane_method_info() -> &'static ::unity::il2cpp::MethodInfo {
251 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[7]
252 }
253
254 pub fn calculate_reflection_matrix_method_info() -> &'static ::unity::il2cpp::MethodInfo {
255 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[8]
256 }
257
258 pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
259 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[9]
260 }
261}
262
263#[cfg(feature = "app-water-waterv2")]
264impl WaterV2 {
265 #[doc = "`.ctor()` — no args"]
266 pub fn new() -> Self {
267 let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
268 panic!(
269 "{}
270::{}
271 failed to instantiate",
272 ::core::stringify!(WaterV2),
273 ::core::stringify!(new),
274 )
275 });
276 <Self as IWaterV2Methods>::ctor(this);
277 this
278 }
279}
280
281#[cfg(feature = "app-water-waterv2")]
282#[doc(hidden)]
283pub mod prelude {
284 pub use super::{IWaterV2, IWaterV2Methods, WaterV2, WaterV2_WaterMode};
285 #[cfg(feature = "system-object")]
286 pub use crate::system::object::IObjectMethods;
287 #[cfg(feature = "system-enum")]
288 pub use crate::system::r#enum::IEnumMethods;
289 #[cfg(feature = "system-valuetype")]
290 pub use crate::system::valuetype::IValueTypeMethods;
291 #[cfg(feature = "unity_engine-behaviour")]
292 pub use crate::unity_engine::behaviour::IBehaviourMethods;
293 #[cfg(feature = "unity_engine-component")]
294 pub use crate::unity_engine::component::IComponentMethods;
295 #[cfg(feature = "unity_engine-monobehaviour")]
296 pub use crate::unity_engine::monobehaviour::IMonoBehaviourMethods;
297 #[cfg(feature = "unity_engine-object_2")]
298 pub use crate::unity_engine::object_2::IObject_2Methods;
299 pub use crate::{
300 system::{object::IObject, r#enum::IEnum, valuetype::IValueType},
301 unity_engine::{behaviour::IBehaviour, component::IComponent, monobehaviour::IMonoBehaviour, object_2::IObject_2},
302 };
303}