Skip to main content

engage/generated/unity_engine/
subsystemdescriptor.rs

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