1#[cfg(feature = "combat-autocamerabase-types")]
4mod __types {
5 #[allow(unused_imports)] use ::unity::prelude::*;
6
7 use super::*;
8 use crate::{
9 combat::basecameracontroller::{BaseCameraController, IBaseCameraController},
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/autocamerabase/AutoCameraBase.md"))]
20 #[::unity::class(namespace = "Combat", name = "AutoCameraBase")]
21 #[parent(crate::combat::basecameracontroller::BaseCameraController)]
22 pub struct AutoCameraBase {
23 #[static_field]
24 #[rename(name = "MinLongitude")]
25 pub min_longitude: f32,
26 #[static_field]
27 #[rename(name = "MaxLongitude")]
28 pub max_longitude: f32,
29 #[static_field]
30 #[rename(name = "MinLatitude")]
31 pub min_latitude: f32,
32 #[static_field]
33 #[rename(name = "MaxLatitude")]
34 pub max_latitude: f32,
35 #[static_field]
36 #[rename(name = "HalfLatitude")]
37 pub half_latitude: f32,
38 #[offset(168)]
39 #[rename(name = "m_Longitude")]
40 pub m_longitude: f32,
41 #[offset(172)]
42 #[rename(name = "m_Latitude")]
43 pub m_latitude: f32,
44 #[offset(176)]
45 #[rename(name = "m_MinDistance")]
46 pub m_min_distance: f32,
47 #[offset(180)]
48 #[rename(name = "m_FocusSide")]
49 pub m_focus_side: f32,
50 #[offset(184)]
51 #[rename(name = "m_LastViewDir")]
52 pub m_last_view_dir: crate::unity_engine::vector3::Vector3,
53 #[offset(196)]
54 #[rename(name = "m_FOV")]
55 pub m_fov: f32,
56 #[offset(200)]
57 #[rename(name = "m_CameraLookUp")]
58 pub m_camera_look_up: crate::unity_engine::vector3::Vector3,
59 #[static_field]
60 #[rename(name = "HalfDegree")]
61 pub half_degree: f32,
62 #[offset(212)]
63 #[rename(name = "HalfDegreeDot")]
64 pub half_degree_dot: f32,
65 }
66}
67
68#[cfg(feature = "combat-autocamerabase-types")]
69pub use __types::*;
70
71#[cfg(feature = "combat-autocamerabase")]
72impl AutoCameraBase {
73 #[doc = "`CalcFitDistance(f32, f32)` overload"]
74 pub fn calc_fit_distance(xdist: impl ::core::convert::Into<f32>, fov_y_deg: impl ::core::convert::Into<f32>) -> f32 {
75 unsafe {
76 ::unity::il2cpp_call!((::unity::module_base()+0x2120570usize)as*mut u8,f32;
77(f32)::core::convert::Into::into(xdist),(f32)::core::convert::Into::into(fov_y_deg))
78 }
79 }
80
81 #[doc = "`Reprojection(crate::unity_engine::camera::Camera, crate::unity_engine::vector3::Vector3, crate::unity_engine::vector3::Vector3, f32)` overload"]
82 pub fn reprojection(
83 cam: impl ::core::convert::Into<crate::unity_engine::camera::Camera>,
84 a: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
85 b: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
86 t: impl ::core::convert::Into<f32>,
87 ) -> crate::unity_engine::vector3::Vector3 {
88 unsafe {
89 ::unity::il2cpp_call!((::unity::module_base()+0x2120730usize)as*mut u8,crate::unity_engine::vector3::Vector3;
90(crate::unity_engine::camera::Camera)::core::convert::Into::into(cam),(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(a),(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(b),(f32)::core::convert::Into::into(t))
91 }
92 }
93
94 #[doc = "`Reprojection(*mutcrate::unity_engine::matrix4x4::Matrix4x4, crate::unity_engine::vector3::Vector3, crate::unity_engine::vector3::Vector3, f32)` overload"]
95 pub fn reprojection_2(
96 a: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
97 b: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
98 t: impl ::core::convert::Into<f32>,
99 ) -> (crate::unity_engine::vector3::Vector3, crate::unity_engine::matrix4x4::Matrix4x4) {
100 unsafe {
101 let mut __out_0 = ::core::mem::MaybeUninit::<crate::unity_engine::matrix4x4::Matrix4x4>::uninit();
102 let __ret = {
103 ::unity::il2cpp_call!((::unity::module_base()+0x21205d0usize)as*mut u8,crate::unity_engine::vector3::Vector3;
104(*mut crate::unity_engine::matrix4x4::Matrix4x4)__out_0.as_mut_ptr(),(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(a),(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(b),(f32)::core::convert::Into::into(t))
105 };
106 (__ret, __out_0.assume_init())
107 }
108 }
109}
110
111#[cfg(feature = "combat-autocamerabase")]
112pub trait IAutoCameraBaseMethods: IAutoCameraBase {
113 #[doc = "`Tick()` overload"]
114 fn tick(self) -> () {
115 unsafe {
116 let __receiver = <AutoCameraBase as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
117 {
118 let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
119 let __vi = *__vt.get(13usize).unwrap_or_else(|| {
120 panic!(
121 "unity: virtual slot {}
122 out of range (vtable len {}
123) on the runtime class behind {}
124 (method `{}
125`)",
126 13usize,
127 __vt.len(),
128 <AutoCameraBase as ::unity::ClassIdentity>::NAME,
129 "Tick",
130 )
131 });
132 let __inner: extern "C" fn(AutoCameraBase, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
133 let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
134 __inner(__receiver, __mi)
135 }
136 }
137 }
138 #[doc = "`CheckUsable(bool)` overload"]
139 fn check_usable(self, is_routine: impl ::core::convert::Into<bool>) -> () {
140 unsafe {
141 let __receiver = <AutoCameraBase as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
142 {
143 let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
144 let __vi = *__vt.get(9usize).unwrap_or_else(|| {
145 panic!(
146 "unity: virtual slot {}
147 out of range (vtable len {}
148) on the runtime class behind {}
149 (method `{}
150`)",
151 9usize,
152 __vt.len(),
153 <AutoCameraBase as ::unity::ClassIdentity>::NAME,
154 "CheckUsable",
155 )
156 });
157 let __inner: extern "C" fn(AutoCameraBase, bool, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__vi.method_ptr);
158 let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
159 __inner(__receiver, ::core::convert::Into::into(is_routine), __mi)
160 }
161 }
162 }
163 #[doc = "`IsSimilarAngle(crate::unity_engine::vector3::Vector3, crate::unity_engine::vector3::Vector3)` overload"]
164 fn is_similar_angle(
165 self,
166 a: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
167 b: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
168 ) -> bool {
169 unsafe {
170 let __receiver = <AutoCameraBase as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
171 ::unity::il2cpp_call!((::unity::module_base()+0x211f4f0usize)as*mut u8,bool;
172(AutoCameraBase)__receiver,(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(a),(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(b))
173 }
174 }
175 #[doc = "`GetCameraTargets()` overload"]
176 fn get_camera_targets(self) -> ::unity::Array<i32> {
177 unsafe {
178 let __receiver = <AutoCameraBase as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
179 {
180 let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
181 let __vi = *__vt.get(12usize).unwrap_or_else(|| {
182 panic!(
183 "unity: virtual slot {}
184 out of range (vtable len {}
185) on the runtime class behind {}
186 (method `{}
187`)",
188 12usize,
189 __vt.len(),
190 <AutoCameraBase as ::unity::ClassIdentity>::NAME,
191 "GetCameraTargets",
192 )
193 });
194 let __inner: extern "C" fn(AutoCameraBase, ::unity::OptionalMethod) -> ::unity::Array<i32> = ::core::mem::transmute(__vi.method_ptr);
195 let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
196 __inner(__receiver, __mi)
197 }
198 }
199 }
200 #[doc = "`.ctor()` overload"]
201 fn ctor(self) -> () {
202 unsafe {
203 let __receiver = <AutoCameraBase as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
204 ::unity::il2cpp_call!((::unity::module_base()+0x211fb90usize)as*mut u8,();
205(AutoCameraBase)__receiver)
206 }
207 }
208}
209
210#[cfg(feature = "combat-autocamerabase")]
211impl<__T: IAutoCameraBase> IAutoCameraBaseMethods for __T {}
212
213#[cfg(feature = "combat-autocamerabase")]
214impl AutoCameraBase {
215 pub fn tick_method_info() -> &'static ::unity::il2cpp::MethodInfo {
216 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
217 }
218
219 pub fn check_usable_method_info() -> &'static ::unity::il2cpp::MethodInfo {
220 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
221 }
222
223 pub fn is_similar_angle_method_info() -> &'static ::unity::il2cpp::MethodInfo {
224 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
225 }
226
227 pub fn calc_fit_distance_method_info() -> &'static ::unity::il2cpp::MethodInfo {
228 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[4]
229 }
230
231 pub fn reprojection_method_info() -> &'static ::unity::il2cpp::MethodInfo {
232 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[5]
233 }
234
235 pub fn reprojection_2_method_info() -> &'static ::unity::il2cpp::MethodInfo {
236 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[6]
237 }
238
239 pub fn get_camera_targets_method_info() -> &'static ::unity::il2cpp::MethodInfo {
240 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[7]
241 }
242
243 pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
244 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[8]
245 }
246}
247
248#[cfg(feature = "combat-autocamerabase")]
249impl AutoCameraBase {
250 #[doc = "Direct (non-virtual) call to `AutoCameraBase`'s own `Tick`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
251 pub unsafe fn tick(this: impl ::core::convert::Into<::unity::IlInstance>) -> () {
252 let __mi = Self::tick_method_info();
253 let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
254 __inner(this.into(), ::core::option::Option::None)
255 }
256
257 #[doc = "Direct (non-virtual) call to `AutoCameraBase`'s own `CheckUsable`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
258 pub unsafe fn check_usable(this: impl ::core::convert::Into<::unity::IlInstance>, is_routine: bool) -> () {
259 let __mi = Self::check_usable_method_info();
260 let __inner: extern "C" fn(::unity::IlInstance, bool, ::unity::OptionalMethod) -> () = ::core::mem::transmute(__mi.method_ptr);
261 __inner(this.into(), is_routine, ::core::option::Option::None)
262 }
263
264 #[doc = "Direct (non-virtual) call to `AutoCameraBase`'s own `GetCameraTargets`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
265 pub unsafe fn get_camera_targets(this: impl ::core::convert::Into<::unity::IlInstance>) -> ::unity::Array<i32> {
266 let __mi = Self::get_camera_targets_method_info();
267 let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> ::unity::Array<i32> = ::core::mem::transmute(__mi.method_ptr);
268 __inner(this.into(), ::core::option::Option::None)
269 }
270}
271
272#[cfg(feature = "combat-autocamerabase")]
273impl AutoCameraBase {
274 #[doc = "`.ctor()` — no args"]
275 pub fn new() -> Self {
276 let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
277 panic!(
278 "{}
279::{}
280 failed to instantiate",
281 ::core::stringify!(AutoCameraBase),
282 ::core::stringify!(new),
283 )
284 });
285 <Self as IAutoCameraBaseMethods>::ctor(this);
286 this
287 }
288}
289
290#[cfg(feature = "combat-autocamerabase")]
291#[doc(hidden)]
292pub mod prelude {
293 pub use super::{AutoCameraBase, IAutoCameraBase, IAutoCameraBaseMethods};
294 #[cfg(feature = "combat-basecameracontroller")]
295 pub use crate::combat::basecameracontroller::IBaseCameraControllerMethods;
296 #[cfg(feature = "system-object")]
297 pub use crate::system::object::IObjectMethods;
298 #[cfg(feature = "unity_engine-behaviour")]
299 pub use crate::unity_engine::behaviour::IBehaviourMethods;
300 #[cfg(feature = "unity_engine-component")]
301 pub use crate::unity_engine::component::IComponentMethods;
302 #[cfg(feature = "unity_engine-monobehaviour")]
303 pub use crate::unity_engine::monobehaviour::IMonoBehaviourMethods;
304 #[cfg(feature = "unity_engine-object_2")]
305 pub use crate::unity_engine::object_2::IObject_2Methods;
306 pub use crate::{
307 combat::basecameracontroller::IBaseCameraController,
308 system::object::IObject,
309 unity_engine::{behaviour::IBehaviour, component::IComponent, monobehaviour::IMonoBehaviour, object_2::IObject_2},
310 };
311}