Skip to main content

engage/generated/unity_engine/subsystems_implementation/
subsystemdescriptorwithprovider.rs

1// @generated by il2cpp-bindgen — do not edit by hand.
2
3#[cfg(feature = "unity_engine-subsystems_implementation-subsystemdescriptorwithprovider-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/subsystems_implementation/subsystemdescriptorwithprovider/SubsystemDescriptorWithProvider.md"))]
11    #[::unity::class(namespace = "UnityEngine.SubsystemsImplementation", name = "SubsystemDescriptorWithProvider")]
12    #[parent(crate::system::object::Object)]
13    pub struct SubsystemDescriptorWithProvider {}
14}
15
16#[cfg(feature = "unity_engine-subsystems_implementation-subsystemdescriptorwithprovider-types")]
17pub use __types::*;
18
19#[cfg(feature = "unity_engine-subsystems_implementation-subsystemdescriptorwithprovider")]
20pub trait ISubsystemDescriptorWithProviderMethods: ISubsystemDescriptorWithProvider {
21    #[doc = "`get_id()` overload"]
22    fn get_id(self) -> ::unity::Il2CppString {
23        unsafe {
24            let __receiver =
25                <SubsystemDescriptorWithProvider as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
26            {
27                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
28                let __vi = *__vt.get(4usize).unwrap_or_else(|| {
29                    panic!(
30                        "unity: virtual slot {}
31 out of range (vtable len {}
32) on the runtime class behind {}
33 (method `{}
34`)",
35                        4usize,
36                        __vt.len(),
37                        <SubsystemDescriptorWithProvider as ::unity::ClassIdentity>::NAME,
38                        "get_id",
39                    )
40                });
41                let __inner: extern "C" fn(SubsystemDescriptorWithProvider, ::unity::OptionalMethod) -> ::unity::Il2CppString =
42                    ::core::mem::transmute(__vi.method_ptr);
43                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
44                __inner(__receiver, __mi)
45            }
46        }
47    }
48    #[doc = "`.ctor()` overload"]
49    fn ctor(self) -> () {
50        unsafe {
51            let __receiver =
52                <SubsystemDescriptorWithProvider as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
53            ::unity::il2cpp_call!((::unity::module_base()+0x3f3ae60usize)as*mut u8,();
54(SubsystemDescriptorWithProvider)__receiver)
55        }
56    }
57}
58
59#[cfg(feature = "unity_engine-subsystems_implementation-subsystemdescriptorwithprovider")]
60impl<__T: ISubsystemDescriptorWithProvider> ISubsystemDescriptorWithProviderMethods for __T {}
61
62#[cfg(feature = "unity_engine-subsystems_implementation-subsystemdescriptorwithprovider")]
63impl SubsystemDescriptorWithProvider {
64    pub fn get_id_method_info() -> &'static ::unity::il2cpp::MethodInfo {
65        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
66    }
67
68    pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
69        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
70    }
71}
72
73#[cfg(feature = "unity_engine-subsystems_implementation-subsystemdescriptorwithprovider")]
74impl SubsystemDescriptorWithProvider {
75    #[doc = "Direct (non-virtual) call to `SubsystemDescriptorWithProvider`'s own `get_id`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
76    pub unsafe fn get_id(this: impl ::core::convert::Into<::unity::IlInstance>) -> ::unity::Il2CppString {
77        let __mi = Self::get_id_method_info();
78        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> ::unity::Il2CppString = ::core::mem::transmute(__mi.method_ptr);
79        __inner(this.into(), ::core::option::Option::None)
80    }
81}
82
83#[cfg(feature = "unity_engine-subsystems_implementation-subsystemdescriptorwithprovider")]
84impl SubsystemDescriptorWithProvider {
85    #[doc = "`.ctor()` — no args"]
86    pub fn new() -> Self {
87        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
88            panic!(
89                "{}
90::{}
91 failed to instantiate",
92                ::core::stringify!(SubsystemDescriptorWithProvider),
93                ::core::stringify!(new),
94            )
95        });
96        <Self as ISubsystemDescriptorWithProviderMethods>::ctor(this);
97        this
98    }
99}
100
101#[cfg(feature = "unity_engine-subsystems_implementation-subsystemdescriptorwithprovider")]
102#[doc(hidden)]
103pub mod prelude {
104    pub use super::{ISubsystemDescriptorWithProvider, ISubsystemDescriptorWithProviderMethods, SubsystemDescriptorWithProvider};
105    pub use crate::system::object::IObject;
106    #[cfg(feature = "system-object")]
107    pub use crate::system::object::IObjectMethods;
108}