engage/generated/app/
disposgroup.rs1#[cfg(feature = "app-disposgroup-types")]
4mod __types {
5 #[allow(unused_imports)] use ::unity::prelude::*;
6
7 use super::*;
8 use crate::{
9 system::object::{IObject, Object},
10 unity_engine::{
11 behaviour::{Behaviour, IBehaviour},
12 component::{Component, IComponent},
13 monobehaviour::{IMonoBehaviour, MonoBehaviour},
14 object_2::{IObject_2, Object_2},
15 },
16 };
17
18 #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/app/disposgroup/DisposGroup.md"))]
19 #[::unity::class(namespace = "App", name = "DisposGroup")]
20 #[parent(crate::unity_engine::monobehaviour::MonoBehaviour)]
21 pub struct DisposGroup {}
22}
23
24#[cfg(feature = "app-disposgroup-types")]
25pub use __types::*;
26
27#[cfg(feature = "app-disposgroup")]
28pub trait IDisposGroupMethods: IDisposGroup {
29 #[doc = "`CreateActor()` overload"]
30 fn create_actor(self) -> () {
31 unsafe {
32 let __receiver = <DisposGroup as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
33 {
34 let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
35 let __vi = *__vt.get(4usize).unwrap_or_else(|| {
36 panic!(
37 "unity: virtual slot {}
38 out of range (vtable len {}
39) on the runtime class behind {}
40 (method `{}
41`)",
42 4usize,
43 __vt.len(),
44 <DisposGroup as ::unity::ClassIdentity>::NAME,
45 "CreateActor",
46 )
47 });
48 let __inner: extern "C" fn(DisposGroup, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
49 let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
50 __inner(__receiver, __mi)
51 }
52 }
53 }
54 #[doc = "`.ctor()` overload"]
55 fn ctor(self) -> () {
56 unsafe {
57 let __receiver = <DisposGroup as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
58 ::unity::il2cpp_call!((::unity::module_base()+0x1cfbd10usize)as*mut u8,();
59(DisposGroup)__receiver)
60 }
61 }
62}
63
64#[cfg(feature = "app-disposgroup")]
65impl<__T: IDisposGroup> IDisposGroupMethods for __T {}
66
67#[cfg(feature = "app-disposgroup")]
68impl DisposGroup {
69 pub fn create_actor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
70 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
71 }
72
73 pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
74 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
75 }
76}
77
78#[cfg(feature = "app-disposgroup")]
79impl DisposGroup {
80 #[doc = "Direct (non-virtual) call to `DisposGroup`'s own `CreateActor`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
81 pub unsafe fn create_actor(this: impl ::core::convert::Into<::unity::IlInstance>) -> () {
82 let __mi = Self::create_actor_method_info();
83 let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
84 __inner(this.into(), ::core::option::Option::None)
85 }
86}
87
88#[cfg(feature = "app-disposgroup")]
89impl DisposGroup {
90 #[doc = "`.ctor()` — no args"]
91 pub fn new() -> Self {
92 let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
93 panic!(
94 "{}
95::{}
96 failed to instantiate",
97 ::core::stringify!(DisposGroup),
98 ::core::stringify!(new),
99 )
100 });
101 <Self as IDisposGroupMethods>::ctor(this);
102 this
103 }
104}
105
106#[cfg(feature = "app-disposgroup")]
107#[doc(hidden)]
108pub mod prelude {
109 pub use super::{DisposGroup, IDisposGroup, IDisposGroupMethods};
110 #[cfg(feature = "system-object")]
111 pub use crate::system::object::IObjectMethods;
112 #[cfg(feature = "unity_engine-behaviour")]
113 pub use crate::unity_engine::behaviour::IBehaviourMethods;
114 #[cfg(feature = "unity_engine-component")]
115 pub use crate::unity_engine::component::IComponentMethods;
116 #[cfg(feature = "unity_engine-monobehaviour")]
117 pub use crate::unity_engine::monobehaviour::IMonoBehaviourMethods;
118 #[cfg(feature = "unity_engine-object_2")]
119 pub use crate::unity_engine::object_2::IObject_2Methods;
120 pub use crate::{
121 system::object::IObject,
122 unity_engine::{behaviour::IBehaviour, component::IComponent, monobehaviour::IMonoBehaviour, object_2::IObject_2},
123 };
124}