Skip to main content

engage/generated/combat/
magicsub.rs

1// @generated by il2cpp-bindgen — do not edit by hand.
2
3#[cfg(feature = "combat-magicsub-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/combat/magicsub/MagicSub.md"))]
19    #[::unity::class(namespace = "Combat", name = "MagicSub")]
20    #[parent(crate::unity_engine::monobehaviour::MonoBehaviour)]
21    pub struct MagicSub {
22        #[offset(24)]
23        #[rename(name = "BulletSettings")]
24        pub bullet_settings: crate::combat::magicbulletsettings::MagicBulletSettings,
25        #[offset(32)]
26        #[rename(name = "Trackヒット時処理")]
27        pub trackヒット時処理: crate::combat::magicsignaltrack::MagicSignalTrack,
28        #[offset(40)]
29        #[rename(name = "Trackミス時処理")]
30        pub trackミス時処理: crate::combat::magicsignaltrack::MagicSignalTrack,
31        #[offset(48)]
32        #[rename(name = "Trackガード時処理")]
33        pub trackガード時処理: crate::combat::magicsignaltrack::MagicSignalTrack,
34        #[offset(56)]
35        #[rename(name = "Trackパリィ時処理")]
36        pub trackパリィ時処理: crate::combat::magicsignaltrack::MagicSignalTrack,
37        #[offset(64)]
38        #[rename(name = "Track衝突時処理")]
39        pub track衝突時処理: crate::combat::magicsignaltrack::MagicSignalTrack,
40        #[offset(72)]
41        #[rename(name = "Track自然消滅処理")]
42        pub track自然消滅処理: crate::combat::magicsignaltrack::MagicSignalTrack,
43    }
44}
45
46#[cfg(feature = "combat-magicsub-types")]
47pub use __types::*;
48
49#[cfg(feature = "combat-magicsub")]
50pub trait IMagicSubMethods: IMagicSub {
51    #[doc = "`Track(i32)` overload"]
52    fn track(self, i: impl ::core::convert::Into<i32>) -> crate::combat::magicsignaltrack::MagicSignalTrack {
53        unsafe {
54            let __receiver = <MagicSub as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
55            ::unity::il2cpp_call!((::unity::module_base()+0x1bf5c10usize)as*mut u8,crate::combat::magicsignaltrack::MagicSignalTrack;
56(MagicSub)__receiver,(i32)::core::convert::Into::into(i))
57        }
58    }
59    #[doc = "`Setup(crate::combat::character::Character, *mutcrate::unity_engine::vector3::Vector3, *mutcrate::unity_engine::vector3::Vector3)` overload"]
60    fn setup(
61        self,
62        chr: impl ::core::convert::Into<crate::combat::character::Character>,
63    ) -> (crate::unity_engine::vector3::Vector3, crate::unity_engine::vector3::Vector3) {
64        unsafe {
65            let __receiver = <MagicSub as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
66            let mut __out_0 = ::core::mem::MaybeUninit::<crate::unity_engine::vector3::Vector3>::uninit();
67            let mut __out_1 = ::core::mem::MaybeUninit::<crate::unity_engine::vector3::Vector3>::uninit();
68            {
69                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
70                let __vi = *__vt.get(4usize).unwrap_or_else(|| {
71                    panic!(
72                        "unity: virtual slot {}
73 out of range (vtable len {}
74) on the runtime class behind {}
75 (method `{}
76`)",
77                        4usize,
78                        __vt.len(),
79                        <MagicSub as ::unity::ClassIdentity>::NAME,
80                        "Setup",
81                    )
82                });
83                let __inner: extern "C" fn(
84                    MagicSub,
85                    crate::combat::character::Character,
86                    *mut crate::unity_engine::vector3::Vector3,
87                    *mut crate::unity_engine::vector3::Vector3,
88                    ::unity::OptionalMethod,
89                ) -> () = ::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(
92                    __receiver,
93                    ::core::convert::Into::into(chr),
94                    __out_0.as_mut_ptr(),
95                    __out_1.as_mut_ptr(),
96                    __mi,
97                )
98            };
99            (__out_0.assume_init(), __out_1.assume_init())
100        }
101    }
102    #[doc = "`ManualUpdate()` overload"]
103    fn manual_update(self) -> () {
104        unsafe {
105            let __receiver = <MagicSub as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
106            ::unity::il2cpp_call!((::unity::module_base()+0x1bf5c90usize)as*mut u8,();
107(MagicSub)__receiver)
108        }
109    }
110    #[doc = "`.ctor()` overload"]
111    fn ctor(self) -> () {
112        unsafe {
113            let __receiver = <MagicSub as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
114            ::unity::il2cpp_call!((::unity::module_base()+0x1bf5ca0usize)as*mut u8,();
115(MagicSub)__receiver)
116        }
117    }
118}
119
120#[cfg(feature = "combat-magicsub")]
121impl<__T: IMagicSub> IMagicSubMethods for __T {}
122
123#[cfg(feature = "combat-magicsub")]
124impl MagicSub {
125    pub fn track_method_info() -> &'static ::unity::il2cpp::MethodInfo {
126        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
127    }
128
129    pub fn setup_method_info() -> &'static ::unity::il2cpp::MethodInfo {
130        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
131    }
132
133    pub fn manual_update_method_info() -> &'static ::unity::il2cpp::MethodInfo {
134        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
135    }
136
137    pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
138        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[3]
139    }
140}
141
142#[cfg(feature = "combat-magicsub")]
143impl MagicSub {
144    #[doc = "Direct (non-virtual) call to `MagicSub`'s own `Setup`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
145    pub unsafe fn setup(
146        this: impl ::core::convert::Into<::unity::IlInstance>,
147        chr: crate::combat::character::Character,
148        initial_start_pos: *mut crate::unity_engine::vector3::Vector3,
149        initial_end_pos: *mut crate::unity_engine::vector3::Vector3,
150    ) -> () {
151        let __mi = Self::setup_method_info();
152        let __inner: extern "C" fn(
153            ::unity::IlInstance,
154            crate::combat::character::Character,
155            *mut crate::unity_engine::vector3::Vector3,
156            *mut crate::unity_engine::vector3::Vector3,
157            ::unity::OptionalMethod,
158        ) -> () = ::core::mem::transmute(__mi.method_ptr);
159        __inner(this.into(), chr, initial_start_pos, initial_end_pos, ::core::option::Option::None)
160    }
161}
162
163#[cfg(feature = "combat-magicsub")]
164impl MagicSub {
165    #[doc = "`.ctor()` — no args"]
166    pub fn new() -> Self {
167        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
168            panic!(
169                "{}
170::{}
171 failed to instantiate",
172                ::core::stringify!(MagicSub),
173                ::core::stringify!(new),
174            )
175        });
176        <Self as IMagicSubMethods>::ctor(this);
177        this
178    }
179}
180
181#[cfg(feature = "combat-magicsub")]
182#[doc(hidden)]
183pub mod prelude {
184    pub use super::{IMagicSub, IMagicSubMethods, MagicSub};
185    #[cfg(feature = "system-object")]
186    pub use crate::system::object::IObjectMethods;
187    #[cfg(feature = "unity_engine-behaviour")]
188    pub use crate::unity_engine::behaviour::IBehaviourMethods;
189    #[cfg(feature = "unity_engine-component")]
190    pub use crate::unity_engine::component::IComponentMethods;
191    #[cfg(feature = "unity_engine-monobehaviour")]
192    pub use crate::unity_engine::monobehaviour::IMonoBehaviourMethods;
193    #[cfg(feature = "unity_engine-object_2")]
194    pub use crate::unity_engine::object_2::IObject_2Methods;
195    pub use crate::{
196        system::object::IObject,
197        unity_engine::{behaviour::IBehaviour, component::IComponent, monobehaviour::IMonoBehaviour, object_2::IObject_2},
198    };
199}