engage/generated/unity_engine/rendering/universal/
screenspaceambientocclusionsettings.rs1#[cfg(feature = "unity_engine-rendering-universal-screenspaceambientocclusionsettings-types")]
4mod __types {
5 #[allow(unused_imports)] use ::unity::prelude::*;
6
7 use super::*;
8 use crate::system::{
9 object::{IObject, Object},
10 r#enum::{Enum, IEnum},
11 valuetype::{IValueType, ValueType},
12 };
13
14 #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/unity_engine/rendering/universal/screenspaceambientocclusionsettings/ScreenSpaceAmbientOcclusionSettings.md"))]
15 #[::unity::class(namespace = "UnityEngine.Rendering.Universal", name = "ScreenSpaceAmbientOcclusionSettings")]
16 #[parent(crate::system::object::Object)]
17 pub struct ScreenSpaceAmbientOcclusionSettings {
18 #[offset(16)]
19 #[rename(name = "Downsample")]
20 pub downsample: bool,
21 #[offset(20)]
22 #[rename(name = "Source")]
23 pub source: crate::unity_engine::rendering::universal::screenspaceambientocclusionsettings::ScreenSpaceAmbientOcclusionSettings_DepthSource,
24 #[offset(24)]
25 #[rename(name = "NormalSamples")]
26 pub normal_samples:
27 crate::unity_engine::rendering::universal::screenspaceambientocclusionsettings::ScreenSpaceAmbientOcclusionSettings_NormalQuality,
28 #[offset(28)]
29 #[rename(name = "Intensity")]
30 pub intensity: f32,
31 #[offset(32)]
32 #[rename(name = "DirectLightingStrength")]
33 pub direct_lighting_strength: f32,
34 #[offset(36)]
35 #[rename(name = "Radius")]
36 pub radius: f32,
37 #[offset(40)]
38 #[rename(name = "SampleCount")]
39 pub sample_count: i32,
40 }
41
42 #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/unity_engine/rendering/universal/screenspaceambientocclusionsettings/ScreenSpaceAmbientOcclusionSettings_DepthSource.md"))]
43 #[repr(C)]
44 #[derive(::core::clone::Clone, ::core::marker::Copy, ::core::fmt::Debug, ::core::cmp::PartialEq, ::core::cmp::Eq)]
45 pub struct ScreenSpaceAmbientOcclusionSettings_DepthSource {
46 pub value: i32,
47 }
48 impl ::unity::ClassIdentity for ScreenSpaceAmbientOcclusionSettings_DepthSource {
49 const NAME: &'static str = "ScreenSpaceAmbientOcclusionSettings.DepthSource";
50 const NAMESPACE: &'static str = "UnityEngine.Rendering.Universal";
51
52 fn class() -> ::unity::Class {
53 static CACHE: ::std::sync::OnceLock<::unity::Class> = ::std::sync::OnceLock::new();
54 *CACHE.get_or_init(|| ::unity::Class::lookup(Self::NAMESPACE, Self::NAME))
55 }
56 }
57 impl ::unity::IlType for ScreenSpaceAmbientOcclusionSettings_DepthSource {
58 fn il_type() -> &'static ::unity::il2cpp::Il2CppType {
59 &<Self as ::unity::ClassIdentity>::class().raw()._1.byval_arg
60 }
61 }
62 impl ScreenSpaceAmbientOcclusionSettings_DepthSource {
63 pub fn depth() -> Self {
64 Self { value: 0 }
65 }
66
67 pub fn depth_normals() -> Self {
68 Self { value: 1 }
69 }
70 }
71
72 #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/unity_engine/rendering/universal/screenspaceambientocclusionsettings/ScreenSpaceAmbientOcclusionSettings_NormalQuality.md"))]
73 #[repr(C)]
74 #[derive(::core::clone::Clone, ::core::marker::Copy, ::core::fmt::Debug, ::core::cmp::PartialEq, ::core::cmp::Eq)]
75 pub struct ScreenSpaceAmbientOcclusionSettings_NormalQuality {
76 pub value: i32,
77 }
78 impl ::unity::ClassIdentity for ScreenSpaceAmbientOcclusionSettings_NormalQuality {
79 const NAME: &'static str = "ScreenSpaceAmbientOcclusionSettings.NormalQuality";
80 const NAMESPACE: &'static str = "UnityEngine.Rendering.Universal";
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 ScreenSpaceAmbientOcclusionSettings_NormalQuality {
88 fn il_type() -> &'static ::unity::il2cpp::Il2CppType {
89 &<Self as ::unity::ClassIdentity>::class().raw()._1.byval_arg
90 }
91 }
92 impl ScreenSpaceAmbientOcclusionSettings_NormalQuality {
93 pub fn low() -> Self {
94 Self { value: 0 }
95 }
96
97 pub fn medium() -> Self {
98 Self { value: 1 }
99 }
100
101 pub fn high() -> Self {
102 Self { value: 2 }
103 }
104 }
105}
106
107#[cfg(feature = "unity_engine-rendering-universal-screenspaceambientocclusionsettings-types")]
108pub use __types::*;
109
110#[cfg(feature = "unity_engine-rendering-universal-screenspaceambientocclusionsettings")]
111pub trait IScreenSpaceAmbientOcclusionSettingsMethods: IScreenSpaceAmbientOcclusionSettings {
112 #[doc = "`.ctor()` overload"]
113 fn ctor(self) -> () {
114 unsafe {
115 let __receiver = <ScreenSpaceAmbientOcclusionSettings as ::unity::FromIlInstance>::from_il_instance(
116 <Self as ::unity::SystemObject>::as_instance(self),
117 );
118 ::unity::il2cpp_call!((::unity::module_base()+0x2ecebe0usize)as*mut u8,();
119(ScreenSpaceAmbientOcclusionSettings)__receiver)
120 }
121 }
122}
123
124#[cfg(feature = "unity_engine-rendering-universal-screenspaceambientocclusionsettings")]
125impl<__T: IScreenSpaceAmbientOcclusionSettings> IScreenSpaceAmbientOcclusionSettingsMethods for __T {}
126
127#[cfg(feature = "unity_engine-rendering-universal-screenspaceambientocclusionsettings")]
128impl ScreenSpaceAmbientOcclusionSettings {
129 pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
130 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
131 }
132}
133
134#[cfg(feature = "unity_engine-rendering-universal-screenspaceambientocclusionsettings")]
135impl ScreenSpaceAmbientOcclusionSettings {
136 #[doc = "`.ctor()` — no args"]
137 pub fn new() -> Self {
138 let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
139 panic!(
140 "{}
141::{}
142 failed to instantiate",
143 ::core::stringify!(ScreenSpaceAmbientOcclusionSettings),
144 ::core::stringify!(new),
145 )
146 });
147 <Self as IScreenSpaceAmbientOcclusionSettingsMethods>::ctor(this);
148 this
149 }
150}
151
152#[cfg(feature = "unity_engine-rendering-universal-screenspaceambientocclusionsettings")]
153#[doc(hidden)]
154pub mod prelude {
155 pub use super::{
156 IScreenSpaceAmbientOcclusionSettings, IScreenSpaceAmbientOcclusionSettingsMethods, ScreenSpaceAmbientOcclusionSettings,
157 ScreenSpaceAmbientOcclusionSettings_DepthSource, ScreenSpaceAmbientOcclusionSettings_NormalQuality,
158 };
159 #[cfg(feature = "system-object")]
160 pub use crate::system::object::IObjectMethods;
161 #[cfg(feature = "system-enum")]
162 pub use crate::system::r#enum::IEnumMethods;
163 #[cfg(feature = "system-valuetype")]
164 pub use crate::system::valuetype::IValueTypeMethods;
165 pub use crate::system::{object::IObject, r#enum::IEnum, valuetype::IValueType};
166}