Skip to main content

engage/generated/unity_engine/low_level/
playerloopsystem.rs

1// @generated by il2cpp-bindgen — do not edit by hand.
2
3#[cfg(feature = "unity_engine-low_level-playerloopsystem-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        valuetype::{IValueType, ValueType},
13    };
14
15    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/unity_engine/low_level/playerloopsystem/PlayerLoopSystem.md"))]
16    #[repr(C)]
17    #[derive(::core::clone::Clone, ::core::marker::Copy)]
18    pub struct PlayerLoopSystem {
19        pub r#type: ::unity::SystemType,
20        pub sub_system_list: ::unity::Array<crate::unity_engine::low_level::playerloopsystem::PlayerLoopSystem>,
21        pub update_delegate: crate::unity_engine::low_level::playerloopsystem::PlayerLoopSystem_UpdateFunction,
22        pub update_function: ::unity::IntPtr,
23        pub loop_condition_function: ::unity::IntPtr,
24    }
25    impl ::unity::ClassIdentity for PlayerLoopSystem {
26        const NAME: &'static str = "PlayerLoopSystem";
27        const NAMESPACE: &'static str = "UnityEngine.LowLevel";
28
29        fn class() -> ::unity::Class {
30            static CACHE: ::std::sync::OnceLock<::unity::Class> = ::std::sync::OnceLock::new();
31            *CACHE.get_or_init(|| ::unity::Class::lookup(Self::NAMESPACE, Self::NAME))
32        }
33    }
34    impl ::unity::IlType for PlayerLoopSystem {
35        fn il_type() -> &'static ::unity::il2cpp::Il2CppType {
36            &<Self as ::unity::ClassIdentity>::class().raw()._1.byval_arg
37        }
38    }
39
40    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/unity_engine/low_level/playerloopsystem/PlayerLoopSystem_UpdateFunction.md"))]
41    #[::unity::class(namespace = "UnityEngine.LowLevel", name = "PlayerLoopSystem.UpdateFunction")]
42    #[parent(crate::system::multicastdelegate::MulticastDelegate)]
43    pub struct PlayerLoopSystem_UpdateFunction {}
44}
45
46#[cfg(feature = "unity_engine-low_level-playerloopsystem-types")]
47pub use __types::*;
48
49#[cfg(feature = "unity_engine-low_level-playerloopsystem")]
50impl PlayerLoopSystem {
51    #[doc = "`ToString()` overload"]
52    pub fn to_string(&mut self) -> ::unity::Il2CppString {
53        unsafe {
54            ::unity::il2cpp_call!((::unity::module_base()+0x32f8900usize)as*mut u8, ::unity::Il2CppString;
55(*mut PlayerLoopSystem)self as*mut PlayerLoopSystem)
56        }
57    }
58}
59
60#[cfg(feature = "unity_engine-low_level-playerloopsystem")]
61impl PlayerLoopSystem {
62    pub fn to_string_method_info() -> &'static ::unity::il2cpp::MethodInfo {
63        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
64    }
65}
66
67#[cfg(feature = "unity_engine-low_level-playerloopsystem")]
68pub trait IPlayerLoopSystem_UpdateFunctionMethods: IPlayerLoopSystem_UpdateFunction {
69    #[doc = "`.ctor(crate::system::object::Object, ::unity::IntPtr)` overload"]
70    fn ctor(self, object: impl ::core::convert::Into<crate::system::object::Object>, method: impl ::core::convert::Into<::unity::IntPtr>) -> () {
71        unsafe {
72            let __receiver =
73                <PlayerLoopSystem_UpdateFunction as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
74            ::unity::il2cpp_call!((::unity::module_base()+0x379e1c0usize)as*mut u8,();
75(PlayerLoopSystem_UpdateFunction)__receiver,(crate::system::object::Object)::core::convert::Into::into(object),(::unity::IntPtr)::core::convert::Into::into(method))
76        }
77    }
78    #[doc = "`Invoke()` overload"]
79    fn invoke(self) -> () {
80        unsafe {
81            let __receiver =
82                <PlayerLoopSystem_UpdateFunction as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
83            {
84                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
85                let __vi = *__vt.get(13usize).unwrap_or_else(|| {
86                    panic!(
87                        "unity: virtual slot {}
88 out of range (vtable len {}
89) on the runtime class behind {}
90 (method `{}
91`)",
92                        13usize,
93                        __vt.len(),
94                        <PlayerLoopSystem_UpdateFunction as ::unity::ClassIdentity>::NAME,
95                        "Invoke",
96                    )
97                });
98                let __inner: extern "C" fn(PlayerLoopSystem_UpdateFunction, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
99                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
100                __inner(__receiver, __mi)
101            }
102        }
103    }
104}
105
106#[cfg(feature = "unity_engine-low_level-playerloopsystem")]
107impl<__T: IPlayerLoopSystem_UpdateFunction> IPlayerLoopSystem_UpdateFunctionMethods for __T {}
108
109#[cfg(feature = "unity_engine-low_level-playerloopsystem")]
110impl PlayerLoopSystem_UpdateFunction {
111    pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
112        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
113    }
114
115    pub fn invoke_method_info() -> &'static ::unity::il2cpp::MethodInfo {
116        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
117    }
118}
119
120#[cfg(feature = "unity_engine-low_level-playerloopsystem")]
121impl PlayerLoopSystem_UpdateFunction {
122    #[doc = "Direct (non-virtual) call to `PlayerLoopSystem_UpdateFunction`'s own `Invoke`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
123    pub unsafe fn invoke(this: impl ::core::convert::Into<::unity::IlInstance>) -> () {
124        let __mi = Self::invoke_method_info();
125        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
126        __inner(this.into(), ::core::option::Option::None)
127    }
128}
129
130#[cfg(feature = "unity_engine-low_level-playerloopsystem")]
131impl PlayerLoopSystem_UpdateFunction {
132    #[doc = "`.ctor(crate::system::object::Object, ::unity::IntPtr)` — overload selector"]
133    pub fn new(object: crate::system::object::Object, method: ::unity::IntPtr) -> Self {
134        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
135            panic!(
136                "{}
137::{}
138 failed to instantiate",
139                ::core::stringify!(PlayerLoopSystem_UpdateFunction),
140                ::core::stringify!(new),
141            )
142        });
143        <Self as IPlayerLoopSystem_UpdateFunctionMethods>::ctor(this, object, method);
144        this
145    }
146}
147
148#[cfg(feature = "unity_engine-low_level-playerloopsystem")]
149#[doc(hidden)]
150pub mod prelude {
151    pub use super::{IPlayerLoopSystem_UpdateFunction, IPlayerLoopSystem_UpdateFunctionMethods, PlayerLoopSystem, PlayerLoopSystem_UpdateFunction};
152    #[cfg(feature = "system-delegate")]
153    pub use crate::system::delegate::IDelegateMethods;
154    #[cfg(feature = "system-multicastdelegate")]
155    pub use crate::system::multicastdelegate::IMulticastDelegateMethods;
156    #[cfg(feature = "system-object")]
157    pub use crate::system::object::IObjectMethods;
158    #[cfg(feature = "system-valuetype")]
159    pub use crate::system::valuetype::IValueTypeMethods;
160    pub use crate::system::{delegate::IDelegate, multicastdelegate::IMulticastDelegate, object::IObject, valuetype::IValueType};
161}