Skip to main content

engage/generated/unity_engine/
cullinggroup.rs

1// @generated by il2cpp-bindgen — do not edit by hand.
2
3#[cfg(feature = "unity_engine-cullinggroup-types")]
4mod __types {
5    #[allow(unused_imports)] use ::unity::prelude::*;
6
7    use super::*;
8    use crate::system::{
9        delegate::{Delegate, IDelegate},
10        multicastdelegate::{IMulticastDelegate, MulticastDelegate},
11        object::{IObject, Object},
12    };
13
14    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/unity_engine/cullinggroup/CullingGroup.md"))]
15    #[::unity::class(namespace = "UnityEngine", name = "CullingGroup")]
16    #[parent(crate::system::object::Object)]
17    pub struct CullingGroup {
18        #[offset(16)]
19        #[rename(name = "m_Ptr")]
20        pub m_ptr: ::unity::IntPtr,
21        #[offset(24)]
22        #[rename(name = "m_OnStateChanged")]
23        pub m_on_state_changed: crate::unity_engine::cullinggroup::CullingGroup_StateChanged,
24    }
25
26    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/unity_engine/cullinggroup/CullingGroup_StateChanged.md"))]
27    #[::unity::class(namespace = "UnityEngine", name = "CullingGroup.StateChanged")]
28    #[parent(crate::system::multicastdelegate::MulticastDelegate)]
29    pub struct CullingGroup_StateChanged {}
30}
31
32#[cfg(feature = "unity_engine-cullinggroup-types")]
33pub use __types::*;
34
35#[cfg(feature = "unity_engine-cullinggroup")]
36impl CullingGroup {
37    #[doc = "`SendEvents(crate::unity_engine::cullinggroup::CullingGroup, ::unity::IntPtr, i32)` overload"]
38    pub fn send_events(
39        culling_group: impl ::core::convert::Into<crate::unity_engine::cullinggroup::CullingGroup>,
40        events_ptr: impl ::core::convert::Into<::unity::IntPtr>,
41        count: impl ::core::convert::Into<i32>,
42    ) -> () {
43        unsafe {
44            ::unity::il2cpp_call!((::unity::module_base()+0x2c494a0usize)as*mut u8,();
45(crate::unity_engine::cullinggroup::CullingGroup)::core::convert::Into::into(culling_group),(::unity::IntPtr)::core::convert::Into::into(events_ptr),(i32)::core::convert::Into::into(count))
46        }
47    }
48}
49
50#[cfg(feature = "unity_engine-cullinggroup")]
51impl CullingGroup {
52    pub fn send_events_method_info() -> &'static ::unity::il2cpp::MethodInfo {
53        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
54    }
55}
56
57#[cfg(feature = "unity_engine-cullinggroup")]
58pub trait ICullingGroup_StateChangedMethods: ICullingGroup_StateChanged {
59    #[doc = "`.ctor(crate::system::object::Object, ::unity::IntPtr)` overload"]
60    fn ctor(self, object: impl ::core::convert::Into<crate::system::object::Object>, method: impl ::core::convert::Into<::unity::IntPtr>) -> () {
61        unsafe {
62            let __receiver =
63                <CullingGroup_StateChanged as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
64            ::unity::il2cpp_call!((::unity::module_base()+0x379bd90usize)as*mut u8,();
65(CullingGroup_StateChanged)__receiver,(crate::system::object::Object)::core::convert::Into::into(object),(::unity::IntPtr)::core::convert::Into::into(method))
66        }
67    }
68    #[doc = "`Invoke(crate::unity_engine::cullinggroupevent::CullingGroupEvent)` overload"]
69    fn invoke(self, sphere: impl ::core::convert::Into<crate::unity_engine::cullinggroupevent::CullingGroupEvent>) -> () {
70        unsafe {
71            let __receiver =
72                <CullingGroup_StateChanged as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
73            {
74                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
75                let __vi = *__vt.get(13usize).unwrap_or_else(|| {
76                    panic!(
77                        "unity: virtual slot {}
78 out of range (vtable len {}
79) on the runtime class behind {}
80 (method `{}
81`)",
82                        13usize,
83                        __vt.len(),
84                        <CullingGroup_StateChanged as ::unity::ClassIdentity>::NAME,
85                        "Invoke",
86                    )
87                });
88                let __inner: extern "C" fn(
89                    CullingGroup_StateChanged,
90                    crate::unity_engine::cullinggroupevent::CullingGroupEvent,
91                    ::unity::OptionalMethod,
92                ) -> () = ::core::mem::transmute(__vi.method_ptr);
93                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
94                __inner(__receiver, ::core::convert::Into::into(sphere), __mi)
95            }
96        }
97    }
98}
99
100#[cfg(feature = "unity_engine-cullinggroup")]
101impl<__T: ICullingGroup_StateChanged> ICullingGroup_StateChangedMethods for __T {}
102
103#[cfg(feature = "unity_engine-cullinggroup")]
104impl CullingGroup_StateChanged {
105    pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
106        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
107    }
108
109    pub fn invoke_method_info() -> &'static ::unity::il2cpp::MethodInfo {
110        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
111    }
112}
113
114#[cfg(feature = "unity_engine-cullinggroup")]
115impl CullingGroup_StateChanged {
116    #[doc = "Direct (non-virtual) call to `CullingGroup_StateChanged`'s own `Invoke`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
117    pub unsafe fn invoke(
118        this: impl ::core::convert::Into<::unity::IlInstance>,
119        sphere: crate::unity_engine::cullinggroupevent::CullingGroupEvent,
120    ) -> () {
121        let __mi = Self::invoke_method_info();
122        let __inner: extern "C" fn(::unity::IlInstance, crate::unity_engine::cullinggroupevent::CullingGroupEvent, ::unity::OptionalMethod) -> () =
123            ::core::mem::transmute(__mi.method_ptr);
124        __inner(this.into(), sphere, ::core::option::Option::None)
125    }
126}
127
128#[cfg(feature = "unity_engine-cullinggroup")]
129impl CullingGroup_StateChanged {
130    #[doc = "`.ctor(crate::system::object::Object, ::unity::IntPtr)` — overload selector"]
131    pub fn new(object: crate::system::object::Object, method: ::unity::IntPtr) -> Self {
132        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
133            panic!(
134                "{}
135::{}
136 failed to instantiate",
137                ::core::stringify!(CullingGroup_StateChanged),
138                ::core::stringify!(new),
139            )
140        });
141        <Self as ICullingGroup_StateChangedMethods>::ctor(this, object, method);
142        this
143    }
144}
145
146#[cfg(feature = "unity_engine-cullinggroup")]
147#[doc(hidden)]
148pub mod prelude {
149    pub use super::{CullingGroup, CullingGroup_StateChanged, ICullingGroup, ICullingGroup_StateChanged, ICullingGroup_StateChangedMethods};
150    #[cfg(feature = "system-delegate")]
151    pub use crate::system::delegate::IDelegateMethods;
152    #[cfg(feature = "system-multicastdelegate")]
153    pub use crate::system::multicastdelegate::IMulticastDelegateMethods;
154    #[cfg(feature = "system-object")]
155    pub use crate::system::object::IObjectMethods;
156    pub use crate::system::{delegate::IDelegate, multicastdelegate::IMulticastDelegate, object::IObject};
157}