engage/generated/combat/
magicsublinear.rs1#[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}