Skip to main content

engage/generated/unity_engine/rendering/universal/
screenspaceambientocclusionsettings.rs

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