Skip to main content

engage/generated/combat/
magicsublinear.rs

1// @generated by il2cpp-bindgen — do not edit by hand.
2
3#[cfg(feature = "combat-magicsublinear-types")]
4mod __types {
5    #[allow(unused_imports)] use ::unity::prelude::*;
6
7    use super::*;
8    use crate::{
9        combat::magicsub::{IMagicSub, MagicSub},
10        system::object::{IObject, Object},
11        unity_engine::{
12            behaviour::{Behaviour, IBehaviour},
13            component::{Component, IComponent},
14            monobehaviour::{IMonoBehaviour, MonoBehaviour},
15            object_2::{IObject_2, Object_2},
16        },
17    };
18
19    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/combat/magicsublinear/MagicSubLinear.md"))]
20    #[::unity::class(namespace = "Combat", name = "MagicSubLinear")]
21    #[parent(crate::combat::magicsub::MagicSub)]
22    pub struct MagicSubLinear {
23        #[offset(80)]
24        #[rename(name = "m_TargetNode")]
25        pub m_target_node: crate::unity_engine::transform::Transform,
26        #[offset(88)]
27        #[rename(name = "m_StartPos")]
28        pub m_start_pos: crate::unity_engine::vector3::Vector3,
29        #[offset(100)]
30        #[rename(name = "m_EndPos")]
31        pub m_end_pos: crate::unity_engine::vector3::Vector3,
32        #[offset(112)]
33        #[rename(name = "m_Forward")]
34        pub m_forward: crate::unity_engine::vector3::Vector3,
35        #[offset(124)]
36        #[rename(name = "m_Distance")]
37        pub m_distance: f32,
38        #[offset(128)]
39        #[rename(name = "m_FlyingTime")]
40        pub m_flying_time: f32,
41        #[offset(132)]
42        #[rename(name = "m_Elapsed")]
43        pub m_elapsed: f32,
44    }
45}
46
47#[cfg(feature = "combat-magicsublinear-types")]
48pub use __types::*;
49
50#[cfg(feature = "combat-magicsublinear")]
51pub trait IMagicSubLinearMethods: IMagicSubLinear {
52    #[doc = "`Setup(crate::combat::character::Character, *mutcrate::unity_engine::vector3::Vector3, *mutcrate::unity_engine::vector3::Vector3)` overload"]
53    fn setup(
54        self,
55        chr: impl ::core::convert::Into<crate::combat::character::Character>,
56    ) -> (crate::unity_engine::vector3::Vector3, crate::unity_engine::vector3::Vector3) {
57        unsafe {
58            let __receiver = <MagicSubLinear as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
59            let mut __out_0 = ::core::mem::MaybeUninit::<crate::unity_engine::vector3::Vector3>::uninit();
60            let mut __out_1 = ::core::mem::MaybeUninit::<crate::unity_engine::vector3::Vector3>::uninit();
61            {
62                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
63                let __vi = *__vt.get(4usize).unwrap_or_else(|| {
64                    panic!(
65                        "unity: virtual slot {}
66 out of range (vtable len {}
67) on the runtime class behind {}
68 (method `{}
69`)",
70                        4usize,
71                        __vt.len(),
72                        <MagicSubLinear as ::unity::ClassIdentity>::NAME,
73                        "Setup",
74                    )
75                });
76                let __inner: extern "C" fn(
77                    MagicSubLinear,
78                    crate::combat::character::Character,
79                    *mut crate::unity_engine::vector3::Vector3,
80                    *mut crate::unity_engine::vector3::Vector3,
81                    ::unity::OptionalMethod,
82                ) -> () = ::core::mem::transmute(__vi.method_ptr);
83                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
84                __inner(
85                    __receiver,
86                    ::core::convert::Into::into(chr),
87                    __out_0.as_mut_ptr(),
88                    __out_1.as_mut_ptr(),
89                    __mi,
90                )
91            };
92            (__out_0.assume_init(), __out_1.assume_init())
93        }
94    }
95    #[doc = "`Update()` overload"]
96    fn update(self) -> () {
97        unsafe {
98            let __receiver = <MagicSubLinear as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
99            ::unity::il2cpp_call!((::unity::module_base()+0x1bf66f0usize)as*mut u8,();
100(MagicSubLinear)__receiver)
101        }
102    }
103    #[doc = "`.ctor()` overload"]
104    fn ctor(self) -> () {
105        unsafe {
106            let __receiver = <MagicSubLinear as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
107            ::unity::il2cpp_call!((::unity::module_base()+0x1bf6870usize)as*mut u8,();
108(MagicSubLinear)__receiver)
109        }
110    }
111}
112
113#[cfg(feature = "combat-magicsublinear")]
114impl<__T: IMagicSubLinear> IMagicSubLinearMethods for __T {}
115
116#[cfg(feature = "combat-magicsublinear")]
117impl MagicSubLinear {
118    pub fn setup_method_info() -> &'static ::unity::il2cpp::MethodInfo {
119        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
120    }
121
122    pub fn update_method_info() -> &'static ::unity::il2cpp::MethodInfo {
123        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
124    }
125
126    pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
127        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
128    }
129}
130
131#[cfg(feature = "combat-magicsublinear")]
132impl MagicSubLinear {
133    #[doc = "Direct (non-virtual) call to `MagicSubLinear`'s own `Setup`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
134    pub unsafe fn setup(
135        this: impl ::core::convert::Into<::unity::IlInstance>,
136        chr: crate::combat::character::Character,
137        initial_start_pos: *mut crate::unity_engine::vector3::Vector3,
138        initial_end_pos: *mut crate::unity_engine::vector3::Vector3,
139    ) -> () {
140        let __mi = Self::setup_method_info();
141        let __inner: extern "C" fn(
142            ::unity::IlInstance,
143            crate::combat::character::Character,
144            *mut crate::unity_engine::vector3::Vector3,
145            *mut crate::unity_engine::vector3::Vector3,
146            ::unity::OptionalMethod,
147        ) -> () = ::core::mem::transmute(__mi.method_ptr);
148        __inner(this.into(), chr, initial_start_pos, initial_end_pos, ::core::option::Option::None)
149    }
150}
151
152#[cfg(feature = "combat-magicsublinear")]
153impl MagicSubLinear {
154    #[doc = "`.ctor()` — no args"]
155    pub fn new() -> Self {
156        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
157            panic!(
158                "{}
159::{}
160 failed to instantiate",
161                ::core::stringify!(MagicSubLinear),
162                ::core::stringify!(new),
163            )
164        });
165        <Self as IMagicSubLinearMethods>::ctor(this);
166        this
167    }
168}
169
170#[cfg(feature = "combat-magicsublinear")]
171#[doc(hidden)]
172pub mod prelude {
173    pub use super::{IMagicSubLinear, IMagicSubLinearMethods, MagicSubLinear};
174    #[cfg(feature = "combat-magicsub")]
175    pub use crate::combat::magicsub::IMagicSubMethods;
176    #[cfg(feature = "system-object")]
177    pub use crate::system::object::IObjectMethods;
178    #[cfg(feature = "unity_engine-behaviour")]
179    pub use crate::unity_engine::behaviour::IBehaviourMethods;
180    #[cfg(feature = "unity_engine-component")]
181    pub use crate::unity_engine::component::IComponentMethods;
182    #[cfg(feature = "unity_engine-monobehaviour")]
183    pub use crate::unity_engine::monobehaviour::IMonoBehaviourMethods;
184    #[cfg(feature = "unity_engine-object_2")]
185    pub use crate::unity_engine::object_2::IObject_2Methods;
186    pub use crate::{
187        combat::magicsub::IMagicSub,
188        system::object::IObject,
189        unity_engine::{behaviour::IBehaviour, component::IComponent, monobehaviour::IMonoBehaviour, object_2::IObject_2},
190    };
191}