Skip to main content

engage/generated/moon_sharp/interpreter/interop/
iproxyfactory.rs

1// @generated by il2cpp-bindgen — do not edit by hand.
2
3#[cfg(feature = "moon_sharp-interpreter-interop-iproxyfactory-types")]
4mod __types {
5    #[allow(unused_imports)] use ::unity::prelude::*;
6
7    use super::*;
8
9    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/moon_sharp/interpreter/interop/iproxyfactory/IProxyFactory.md"))]
10    #[::unity::class(namespace = "MoonSharp.Interpreter.Interop", name = "IProxyFactory")]
11    pub struct IProxyFactory {}
12}
13
14#[cfg(feature = "moon_sharp-interpreter-interop-iproxyfactory-types")]
15pub use __types::*;
16
17#[cfg(feature = "moon_sharp-interpreter-interop-iproxyfactory")]
18pub trait IIProxyFactoryMethods: IIProxyFactory {
19    #[doc = "`CreateProxyObject(crate::system::object::Object)` overload"]
20    fn create_proxy_object(self, o: impl ::core::convert::Into<crate::system::object::Object>) -> crate::system::object::Object {
21        unsafe {
22            let __receiver = <IProxyFactory as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
23            {
24                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
25                let __vi = *__vt.get(0usize).unwrap_or_else(|| {
26                    panic!(
27                        "unity: virtual slot {}
28 out of range (vtable len {}
29) on the runtime class behind {}
30 (method `{}
31`)",
32                        0usize,
33                        __vt.len(),
34                        <IProxyFactory as ::unity::ClassIdentity>::NAME,
35                        "CreateProxyObject",
36                    )
37                });
38                let __inner: extern "C" fn(IProxyFactory, crate::system::object::Object, ::unity::OptionalMethod) -> crate::system::object::Object =
39                    ::core::mem::transmute(__vi.method_ptr);
40                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
41                __inner(__receiver, ::core::convert::Into::into(o), __mi)
42            }
43        }
44    }
45    #[doc = "`get_TargetType()` overload"]
46    fn get_target_type(self) -> ::unity::SystemType {
47        unsafe {
48            let __receiver = <IProxyFactory as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
49            {
50                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
51                let __vi = *__vt.get(1usize).unwrap_or_else(|| {
52                    panic!(
53                        "unity: virtual slot {}
54 out of range (vtable len {}
55) on the runtime class behind {}
56 (method `{}
57`)",
58                        1usize,
59                        __vt.len(),
60                        <IProxyFactory as ::unity::ClassIdentity>::NAME,
61                        "get_TargetType",
62                    )
63                });
64                let __inner: extern "C" fn(IProxyFactory, ::unity::OptionalMethod) -> ::unity::SystemType = ::core::mem::transmute(__vi.method_ptr);
65                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
66                __inner(__receiver, __mi)
67            }
68        }
69    }
70    #[doc = "`get_ProxyType()` overload"]
71    fn get_proxy_type(self) -> ::unity::SystemType {
72        unsafe {
73            let __receiver = <IProxyFactory as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
74            {
75                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
76                let __vi = *__vt.get(2usize).unwrap_or_else(|| {
77                    panic!(
78                        "unity: virtual slot {}
79 out of range (vtable len {}
80) on the runtime class behind {}
81 (method `{}
82`)",
83                        2usize,
84                        __vt.len(),
85                        <IProxyFactory as ::unity::ClassIdentity>::NAME,
86                        "get_ProxyType",
87                    )
88                });
89                let __inner: extern "C" fn(IProxyFactory, ::unity::OptionalMethod) -> ::unity::SystemType = ::core::mem::transmute(__vi.method_ptr);
90                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
91                __inner(__receiver, __mi)
92            }
93        }
94    }
95}
96
97#[cfg(feature = "moon_sharp-interpreter-interop-iproxyfactory")]
98impl<__T: IIProxyFactory> IIProxyFactoryMethods for __T {}
99
100#[cfg(feature = "moon_sharp-interpreter-interop-iproxyfactory")]
101impl IProxyFactory {
102    pub fn create_proxy_object_method_info() -> &'static ::unity::il2cpp::MethodInfo {
103        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
104    }
105
106    pub fn get_target_type_method_info() -> &'static ::unity::il2cpp::MethodInfo {
107        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
108    }
109
110    pub fn get_proxy_type_method_info() -> &'static ::unity::il2cpp::MethodInfo {
111        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
112    }
113}
114
115#[cfg(feature = "moon_sharp-interpreter-interop-iproxyfactory")]
116impl IProxyFactory {
117    #[doc = "Direct (non-virtual) call to `IProxyFactory`'s own `CreateProxyObject`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
118    pub unsafe fn create_proxy_object(
119        this: impl ::core::convert::Into<::unity::IlInstance>,
120        o: crate::system::object::Object,
121    ) -> crate::system::object::Object {
122        let __mi = Self::create_proxy_object_method_info();
123        let __inner: extern "C" fn(::unity::IlInstance, crate::system::object::Object, ::unity::OptionalMethod) -> crate::system::object::Object =
124            ::core::mem::transmute(__mi.method_ptr);
125        __inner(this.into(), o, ::core::option::Option::None)
126    }
127
128    #[doc = "Direct (non-virtual) call to `IProxyFactory`'s own `get_TargetType`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
129    pub unsafe fn get_target_type(this: impl ::core::convert::Into<::unity::IlInstance>) -> ::unity::SystemType {
130        let __mi = Self::get_target_type_method_info();
131        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> ::unity::SystemType = ::core::mem::transmute(__mi.method_ptr);
132        __inner(this.into(), ::core::option::Option::None)
133    }
134
135    #[doc = "Direct (non-virtual) call to `IProxyFactory`'s own `get_ProxyType`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
136    pub unsafe fn get_proxy_type(this: impl ::core::convert::Into<::unity::IlInstance>) -> ::unity::SystemType {
137        let __mi = Self::get_proxy_type_method_info();
138        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> ::unity::SystemType = ::core::mem::transmute(__mi.method_ptr);
139        __inner(this.into(), ::core::option::Option::None)
140    }
141}
142
143#[cfg(feature = "moon_sharp-interpreter-interop-iproxyfactory")]
144#[doc(hidden)]
145pub mod prelude {
146    pub use super::{IIProxyFactory, IIProxyFactoryMethods, IProxyFactory};
147}