Skip to main content

engage/generated/unity_engine/rendering/
volumestack.rs

1// @generated by il2cpp-bindgen — do not edit by hand.
2
3#[cfg(feature = "unity_engine-rendering-volumestack-types")]
4mod __types {
5    #[allow(unused_imports)] use ::unity::prelude::*;
6
7    use super::*;
8    use crate::system::object::{IObject, Object};
9
10    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/unity_engine/rendering/volumestack/VolumeStack.md"))]
11    #[::unity::class(namespace = "UnityEngine.Rendering", name = "VolumeStack")]
12    #[parent(crate::system::object::Object)]
13    pub struct VolumeStack {
14        #[offset(16)]
15        #[rename(name = "components")]
16        pub components: crate::system::collections::generic::dictionary_2::Dictionary_2<
17            ::unity::SystemType,
18            crate::unity_engine::rendering::volumecomponent::VolumeComponent,
19        >,
20    }
21}
22
23#[cfg(feature = "unity_engine-rendering-volumestack-types")]
24pub use __types::*;
25
26#[cfg(feature = "unity_engine-rendering-volumestack")]
27pub trait IVolumeStackMethods: IVolumeStack {
28    #[doc = "`.ctor()` overload"]
29    fn ctor(self) -> () {
30        unsafe {
31            let __receiver = <VolumeStack as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
32            ::unity::il2cpp_call!((::unity::module_base()+0x33e6f90usize)as*mut u8,();
33(VolumeStack)__receiver)
34        }
35    }
36    #[doc = "`Reload(crate::system::collections::generic::ienumerable_1::IEnumerable_1<::unity::SystemType>)` overload"]
37    fn reload(
38        self,
39        base_types: impl ::core::convert::Into<crate::system::collections::generic::ienumerable_1::IEnumerable_1<::unity::SystemType>>,
40    ) -> () {
41        unsafe {
42            let __receiver = <VolumeStack as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
43            ::unity::il2cpp_call!((::unity::module_base()+0x33e6fa0usize)as*mut u8,();
44(VolumeStack)__receiver,(crate::system::collections::generic::ienumerable_1::IEnumerable_1< ::unity::SystemType>)::core::convert::Into::into(base_types))
45        }
46    }
47    fn get_component<M0: ::unity::IlType + ::core::marker::Copy + ::unity::ClassIdentity>(self) -> M0 {
48        static OPEN: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> =
49            ::std::sync::LazyLock::new(|| ::unity::lookup::method_info_on_class(<VolumeStack as ::unity::ClassIdentity>::class(), "GetComponent", 0));
50        #[allow(clippy::type_complexity)]
51        static CACHE: ::std::sync::OnceLock<::std::sync::Mutex<::std::collections::HashMap<usize, &'static ::unity::il2cpp::MethodInfo>>> =
52            ::std::sync::OnceLock::new();
53        let _ = false;
54        let __open: &'static ::unity::il2cpp::MethodInfo = match &*OPEN {
55            ::core::result::Result::Ok(mi) => *mi,
56            ::core::result::Result::Err(e) => {
57                panic!(
58                    "method lookup failed: {}
59::{}
60: {}
61",
62                    <VolumeStack as ::unity::ClassIdentity>::NAME,
63                    "GetComponent",
64                    e
65                )
66            },
67        };
68        let __cache = CACHE.get_or_init(|| ::std::sync::Mutex::new(::std::collections::HashMap::new()));
69        let __key: usize = <M0 as ::unity::IlType>::il_type() as *const _ as usize;
70        let __inflated: &'static ::unity::il2cpp::MethodInfo = {
71            let mut __guard = __cache.lock().unwrap();
72            *__guard
73                .entry(__key)
74                .or_insert_with(|| ::unity::il2cpp::generic::create_generic_method_info(__open, &[<M0 as ::unity::IlType>::il_type()]))
75        };
76        unsafe {
77            let __receiver = <VolumeStack as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
78            let __f: extern "C" fn(VolumeStack, ::unity::OptionalMethod) -> M0 = ::core::mem::transmute(__inflated.method_ptr);
79            let __mi_opaque: &'static () = &*(__inflated as *const _ as *const ());
80            __f(__receiver, ::core::option::Option::Some(__mi_opaque))
81        }
82    }
83    #[doc = "`GetComponent(::unity::SystemType)` overload"]
84    fn get_component_2(
85        self,
86        r#type: impl ::core::convert::Into<::unity::SystemType>,
87    ) -> crate::unity_engine::rendering::volumecomponent::VolumeComponent {
88        unsafe {
89            let __receiver = <VolumeStack as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
90            ::unity::il2cpp_call!((::unity::module_base()+0x33e7640usize)as*mut u8,crate::unity_engine::rendering::volumecomponent::VolumeComponent;
91(VolumeStack)__receiver,(::unity::SystemType)::core::convert::Into::into(r#type))
92        }
93    }
94    #[doc = "`Dispose()` overload"]
95    fn dispose(self) -> () {
96        unsafe {
97            let __receiver = <VolumeStack as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
98            {
99                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
100                let __vi = *__vt.get(4usize).unwrap_or_else(|| {
101                    panic!(
102                        "unity: virtual slot {}
103 out of range (vtable len {}
104) on the runtime class behind {}
105 (method `{}
106`)",
107                        4usize,
108                        __vt.len(),
109                        <VolumeStack as ::unity::ClassIdentity>::NAME,
110                        "Dispose",
111                    )
112                });
113                let __inner: extern "C" fn(VolumeStack, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
114                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
115                __inner(__receiver, __mi)
116            }
117        }
118    }
119}
120
121#[cfg(feature = "unity_engine-rendering-volumestack")]
122impl<__T: IVolumeStack> IVolumeStackMethods for __T {}
123
124#[cfg(feature = "unity_engine-rendering-volumestack")]
125impl VolumeStack {
126    pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
127        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
128    }
129
130    pub fn reload_method_info() -> &'static ::unity::il2cpp::MethodInfo {
131        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
132    }
133
134    pub fn get_component_2_method_info() -> &'static ::unity::il2cpp::MethodInfo {
135        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[3]
136    }
137
138    pub fn dispose_method_info() -> &'static ::unity::il2cpp::MethodInfo {
139        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[4]
140    }
141}
142
143#[cfg(feature = "unity_engine-rendering-volumestack")]
144impl VolumeStack {
145    #[doc = "Direct (non-virtual) call to `VolumeStack`'s own `Dispose`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
146    pub unsafe fn dispose(this: impl ::core::convert::Into<::unity::IlInstance>) -> () {
147        let __mi = Self::dispose_method_info();
148        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
149        __inner(this.into(), ::core::option::Option::None)
150    }
151}
152
153#[cfg(feature = "unity_engine-rendering-volumestack")]
154impl VolumeStack {
155    #[doc = "`.ctor()` — no args"]
156    pub fn new() -> Self {
157        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
158            panic!(
159                "{}
160::{}
161 failed to instantiate",
162                ::core::stringify!(VolumeStack),
163                ::core::stringify!(new),
164            )
165        });
166        <Self as IVolumeStackMethods>::ctor(this);
167        this
168    }
169}
170
171#[cfg(feature = "unity_engine-rendering-volumestack")]
172#[doc(hidden)]
173pub mod prelude {
174    pub use super::{IVolumeStack, IVolumeStackMethods, VolumeStack};
175    pub use crate::system::object::IObject;
176    #[cfg(feature = "system-object")]
177    pub use crate::system::object::IObjectMethods;
178}