Skip to main content

engage/generated/unity_engine/experimental/rendering/universal/lib_tess_dot_net/
combinecallback.rs

1// @generated by il2cpp-bindgen — do not edit by hand.
2
3#[cfg(feature = "unity_engine-experimental-rendering-universal-lib_tess_dot_net-combinecallback-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/experimental/rendering/universal/lib_tess_dot_net/combinecallback/CombineCallback.md"))]
15    #[::unity::class(namespace = "UnityEngine.Experimental.Rendering.Universal.LibTessDotNet", name = "CombineCallback")]
16    #[parent(crate::system::multicastdelegate::MulticastDelegate)]
17    pub struct CombineCallback {}
18}
19
20#[cfg(feature = "unity_engine-experimental-rendering-universal-lib_tess_dot_net-combinecallback-types")]
21pub use __types::*;
22
23#[cfg(feature = "unity_engine-experimental-rendering-universal-lib_tess_dot_net-combinecallback")]
24pub trait ICombineCallbackMethods: ICombineCallback {
25    #[doc = "`.ctor(crate::system::object::Object, ::unity::IntPtr)` overload"]
26    fn ctor(self, object: impl ::core::convert::Into<crate::system::object::Object>, method: impl ::core::convert::Into<::unity::IntPtr>) -> () {
27        unsafe {
28            let __receiver = <CombineCallback as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
29            ::unity::il2cpp_call!((::unity::module_base()+0x2a40b60usize)as*mut u8,();
30(CombineCallback)__receiver,(crate::system::object::Object)::core::convert::Into::into(object),(::unity::IntPtr)::core::convert::Into::into(method))
31        }
32    }
33    #[doc = "`Invoke(crate::unity_engine::experimental::rendering::universal::lib_tess_dot_net::vec3::Vec3, ::unity::Array<crate::system::object::Object>, ::unity::Array<f32>)` overload"]
34    fn invoke(
35        self,
36        position: impl ::core::convert::Into<crate::unity_engine::experimental::rendering::universal::lib_tess_dot_net::vec3::Vec3>,
37        data: impl ::core::convert::Into<::unity::Array<crate::system::object::Object>>,
38        weights: impl ::core::convert::Into<::unity::Array<f32>>,
39    ) -> crate::system::object::Object {
40        unsafe {
41            let __receiver = <CombineCallback as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
42            {
43                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
44                let __vi = *__vt.get(13usize).unwrap_or_else(|| {
45                    panic!(
46                        "unity: virtual slot {}
47 out of range (vtable len {}
48) on the runtime class behind {}
49 (method `{}
50`)",
51                        13usize,
52                        __vt.len(),
53                        <CombineCallback as ::unity::ClassIdentity>::NAME,
54                        "Invoke",
55                    )
56                });
57                let __inner: extern "C" fn(
58                    CombineCallback,
59                    crate::unity_engine::experimental::rendering::universal::lib_tess_dot_net::vec3::Vec3,
60                    ::unity::Array<crate::system::object::Object>,
61                    ::unity::Array<f32>,
62                    ::unity::OptionalMethod,
63                ) -> crate::system::object::Object = ::core::mem::transmute(__vi.method_ptr);
64                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
65                __inner(
66                    __receiver,
67                    ::core::convert::Into::into(position),
68                    ::core::convert::Into::into(data),
69                    ::core::convert::Into::into(weights),
70                    __mi,
71                )
72            }
73        }
74    }
75}
76
77#[cfg(feature = "unity_engine-experimental-rendering-universal-lib_tess_dot_net-combinecallback")]
78impl<__T: ICombineCallback> ICombineCallbackMethods for __T {}
79
80#[cfg(feature = "unity_engine-experimental-rendering-universal-lib_tess_dot_net-combinecallback")]
81impl CombineCallback {
82    pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
83        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
84    }
85
86    pub fn invoke_method_info() -> &'static ::unity::il2cpp::MethodInfo {
87        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
88    }
89}
90
91#[cfg(feature = "unity_engine-experimental-rendering-universal-lib_tess_dot_net-combinecallback")]
92impl CombineCallback {
93    #[doc = "Direct (non-virtual) call to `CombineCallback`'s own `Invoke`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
94    pub unsafe fn invoke(
95        this: impl ::core::convert::Into<::unity::IlInstance>,
96        position: crate::unity_engine::experimental::rendering::universal::lib_tess_dot_net::vec3::Vec3,
97        data: ::unity::Array<crate::system::object::Object>,
98        weights: ::unity::Array<f32>,
99    ) -> crate::system::object::Object {
100        let __mi = Self::invoke_method_info();
101        let __inner: extern "C" fn(
102            ::unity::IlInstance,
103            crate::unity_engine::experimental::rendering::universal::lib_tess_dot_net::vec3::Vec3,
104            ::unity::Array<crate::system::object::Object>,
105            ::unity::Array<f32>,
106            ::unity::OptionalMethod,
107        ) -> crate::system::object::Object = ::core::mem::transmute(__mi.method_ptr);
108        __inner(this.into(), position, data, weights, ::core::option::Option::None)
109    }
110}
111
112#[cfg(feature = "unity_engine-experimental-rendering-universal-lib_tess_dot_net-combinecallback")]
113impl CombineCallback {
114    #[doc = "`.ctor(crate::system::object::Object, ::unity::IntPtr)` — overload selector"]
115    pub fn new(object: crate::system::object::Object, method: ::unity::IntPtr) -> Self {
116        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
117            panic!(
118                "{}
119::{}
120 failed to instantiate",
121                ::core::stringify!(CombineCallback),
122                ::core::stringify!(new),
123            )
124        });
125        <Self as ICombineCallbackMethods>::ctor(this, object, method);
126        this
127    }
128}
129
130#[cfg(feature = "unity_engine-experimental-rendering-universal-lib_tess_dot_net-combinecallback")]
131#[doc(hidden)]
132pub mod prelude {
133    pub use super::{CombineCallback, ICombineCallback, ICombineCallbackMethods};
134    #[cfg(feature = "system-delegate")]
135    pub use crate::system::delegate::IDelegateMethods;
136    #[cfg(feature = "system-multicastdelegate")]
137    pub use crate::system::multicastdelegate::IMulticastDelegateMethods;
138    #[cfg(feature = "system-object")]
139    pub use crate::system::object::IObjectMethods;
140    pub use crate::system::{delegate::IDelegate, multicastdelegate::IMulticastDelegate, object::IObject};
141}