engage/generated/unity_engine/rendering/universal/
channelmixer.rs1#[cfg(feature = "unity_engine-rendering-universal-channelmixer-types")]
4mod __types {
5 #[allow(unused_imports)] use ::unity::prelude::*;
6
7 use super::*;
8 use crate::{
9 system::object::{IObject, Object},
10 unity_engine::{
11 object_2::{IObject_2, Object_2},
12 rendering::volumecomponent::{IVolumeComponent, VolumeComponent},
13 scriptableobject::{IScriptableObject, ScriptableObject},
14 },
15 };
16
17 #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/unity_engine/rendering/universal/channelmixer/ChannelMixer.md"))]
18 #[::unity::class(namespace = "UnityEngine.Rendering.Universal", name = "ChannelMixer")]
19 #[parent(crate::unity_engine::rendering::volumecomponent::VolumeComponent)]
20 pub struct ChannelMixer {
21 #[offset(56)]
22 #[rename(name = "redOutRedIn")]
23 pub red_out_red_in: crate::unity_engine::rendering::clampedfloatparameter::ClampedFloatParameter,
24 #[offset(64)]
25 #[rename(name = "redOutGreenIn")]
26 pub red_out_green_in: crate::unity_engine::rendering::clampedfloatparameter::ClampedFloatParameter,
27 #[offset(72)]
28 #[rename(name = "redOutBlueIn")]
29 pub red_out_blue_in: crate::unity_engine::rendering::clampedfloatparameter::ClampedFloatParameter,
30 #[offset(80)]
31 #[rename(name = "greenOutRedIn")]
32 pub green_out_red_in: crate::unity_engine::rendering::clampedfloatparameter::ClampedFloatParameter,
33 #[offset(88)]
34 #[rename(name = "greenOutGreenIn")]
35 pub green_out_green_in: crate::unity_engine::rendering::clampedfloatparameter::ClampedFloatParameter,
36 #[offset(96)]
37 #[rename(name = "greenOutBlueIn")]
38 pub green_out_blue_in: crate::unity_engine::rendering::clampedfloatparameter::ClampedFloatParameter,
39 #[offset(104)]
40 #[rename(name = "blueOutRedIn")]
41 pub blue_out_red_in: crate::unity_engine::rendering::clampedfloatparameter::ClampedFloatParameter,
42 #[offset(112)]
43 #[rename(name = "blueOutGreenIn")]
44 pub blue_out_green_in: crate::unity_engine::rendering::clampedfloatparameter::ClampedFloatParameter,
45 #[offset(120)]
46 #[rename(name = "blueOutBlueIn")]
47 pub blue_out_blue_in: crate::unity_engine::rendering::clampedfloatparameter::ClampedFloatParameter,
48 }
49}
50
51#[cfg(feature = "unity_engine-rendering-universal-channelmixer-types")]
52pub use __types::*;
53
54#[cfg(feature = "unity_engine-rendering-universal-channelmixer")]
55pub trait IChannelMixerMethods: IChannelMixer {
56 #[doc = "`IsActive()` overload"]
57 fn is_active(self) -> bool {
58 unsafe {
59 let __receiver = <ChannelMixer as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
60 {
61 let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
62 let __vi = *__vt.get(8usize).unwrap_or_else(|| {
63 panic!(
64 "unity: virtual slot {}
65 out of range (vtable len {}
66) on the runtime class behind {}
67 (method `{}
68`)",
69 8usize,
70 __vt.len(),
71 <ChannelMixer as ::unity::ClassIdentity>::NAME,
72 "IsActive",
73 )
74 });
75 let __inner: extern "C" fn(ChannelMixer, ::unity::OptionalMethod) -> bool = ::core::mem::transmute(__vi.method_ptr);
76 let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
77 __inner(__receiver, __mi)
78 }
79 }
80 }
81 #[doc = "`IsTileCompatible()` overload"]
82 fn is_tile_compatible(self) -> bool {
83 unsafe {
84 let __receiver = <ChannelMixer as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
85 {
86 let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
87 let __vi = *__vt.get(9usize).unwrap_or_else(|| {
88 panic!(
89 "unity: virtual slot {}
90 out of range (vtable len {}
91) on the runtime class behind {}
92 (method `{}
93`)",
94 9usize,
95 __vt.len(),
96 <ChannelMixer as ::unity::ClassIdentity>::NAME,
97 "IsTileCompatible",
98 )
99 });
100 let __inner: extern "C" fn(ChannelMixer, ::unity::OptionalMethod) -> bool = ::core::mem::transmute(__vi.method_ptr);
101 let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
102 __inner(__receiver, __mi)
103 }
104 }
105 }
106 #[doc = "`.ctor()` overload"]
107 fn ctor(self) -> () {
108 unsafe {
109 let __receiver = <ChannelMixer as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
110 ::unity::il2cpp_call!((::unity::module_base()+0x2a3e470usize)as*mut u8,();
111(ChannelMixer)__receiver)
112 }
113 }
114}
115
116#[cfg(feature = "unity_engine-rendering-universal-channelmixer")]
117impl<__T: IChannelMixer> IChannelMixerMethods for __T {}
118
119#[cfg(feature = "unity_engine-rendering-universal-channelmixer")]
120impl ChannelMixer {
121 pub fn is_active_method_info() -> &'static ::unity::il2cpp::MethodInfo {
122 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
123 }
124
125 pub fn is_tile_compatible_method_info() -> &'static ::unity::il2cpp::MethodInfo {
126 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
127 }
128
129 pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
130 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
131 }
132}
133
134#[cfg(feature = "unity_engine-rendering-universal-channelmixer")]
135impl ChannelMixer {
136 #[doc = "Direct (non-virtual) call to `ChannelMixer`'s own `IsActive`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
137 pub unsafe fn is_active(this: impl ::core::convert::Into<::unity::IlInstance>) -> bool {
138 let __mi = Self::is_active_method_info();
139 let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> bool = ::core::mem::transmute(__mi.method_ptr);
140 __inner(this.into(), ::core::option::Option::None)
141 }
142
143 #[doc = "Direct (non-virtual) call to `ChannelMixer`'s own `IsTileCompatible`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
144 pub unsafe fn is_tile_compatible(this: impl ::core::convert::Into<::unity::IlInstance>) -> bool {
145 let __mi = Self::is_tile_compatible_method_info();
146 let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> bool = ::core::mem::transmute(__mi.method_ptr);
147 __inner(this.into(), ::core::option::Option::None)
148 }
149}
150
151#[cfg(feature = "unity_engine-rendering-universal-channelmixer")]
152impl ChannelMixer {
153 #[doc = "`.ctor()` — no args"]
154 pub fn new() -> Self {
155 let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
156 panic!(
157 "{}
158::{}
159 failed to instantiate",
160 ::core::stringify!(ChannelMixer),
161 ::core::stringify!(new),
162 )
163 });
164 <Self as IChannelMixerMethods>::ctor(this);
165 this
166 }
167}
168
169#[cfg(feature = "unity_engine-rendering-universal-channelmixer")]
170#[doc(hidden)]
171pub mod prelude {
172 pub use super::{ChannelMixer, IChannelMixer, IChannelMixerMethods};
173 #[cfg(feature = "system-object")]
174 pub use crate::system::object::IObjectMethods;
175 #[cfg(feature = "unity_engine-object_2")]
176 pub use crate::unity_engine::object_2::IObject_2Methods;
177 #[cfg(feature = "unity_engine-rendering-volumecomponent")]
178 pub use crate::unity_engine::rendering::volumecomponent::IVolumeComponentMethods;
179 #[cfg(feature = "unity_engine-scriptableobject")]
180 pub use crate::unity_engine::scriptableobject::IScriptableObjectMethods;
181 pub use crate::{
182 system::object::IObject,
183 unity_engine::{object_2::IObject_2, rendering::volumecomponent::IVolumeComponent, scriptableobject::IScriptableObject},
184 };
185}