Skip to main content

engage/generated/unity_engine/ai/
navmeshagent.rs

1// @generated by il2cpp-bindgen — do not edit by hand.
2
3#[cfg(feature = "unity_engine-ai-navmeshagent-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            object_2::{IObject_2, Object_2},
14        },
15    };
16
17    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/unity_engine/ai/navmeshagent/NavMeshAgent.md"))]
18    #[::unity::class(namespace = "UnityEngine.AI", name = "NavMeshAgent")]
19    #[parent(crate::unity_engine::behaviour::Behaviour)]
20    pub struct NavMeshAgent {}
21}
22
23#[cfg(feature = "unity_engine-ai-navmeshagent-types")]
24pub use __types::*;
25
26#[cfg(feature = "unity_engine-ai-navmeshagent")]
27pub trait INavMeshAgentMethods: INavMeshAgent {
28    #[doc = "`SetDestination(crate::unity_engine::vector3::Vector3)` overload"]
29    fn set_destination(self, target: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>) -> bool {
30        unsafe {
31            let __receiver = <NavMeshAgent as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
32            ::unity::il2cpp_call!((::unity::module_base()+0x3f43700usize)as*mut u8,bool;
33(NavMeshAgent)__receiver,(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(target))
34        }
35    }
36    #[doc = "`get_steeringTarget()` overload"]
37    fn get_steering_target(self) -> crate::unity_engine::vector3::Vector3 {
38        unsafe {
39            let __receiver = <NavMeshAgent as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
40            ::unity::il2cpp_call!((::unity::module_base()+0x3f437b0usize)as*mut u8,crate::unity_engine::vector3::Vector3;
41(NavMeshAgent)__receiver)
42        }
43    }
44    #[doc = "`CalculatePath(crate::unity_engine::vector3::Vector3, crate::unity_engine::ai::navmeshpath::NavMeshPath)` overload"]
45    fn calculate_path(
46        self,
47        target_position: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
48        path: impl ::core::convert::Into<crate::unity_engine::ai::navmeshpath::NavMeshPath>,
49    ) -> bool {
50        unsafe {
51            let __receiver = <NavMeshAgent as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
52            ::unity::il2cpp_call!((::unity::module_base()+0x3f43860usize)as*mut u8,bool;
53(NavMeshAgent)__receiver,(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(target_position),(crate::unity_engine::ai::navmeshpath::NavMeshPath)::core::convert::Into::into(path))
54        }
55    }
56    #[doc = "`CalculatePathInternal(crate::unity_engine::vector3::Vector3, crate::unity_engine::ai::navmeshpath::NavMeshPath)` overload"]
57    fn calculate_path_internal(
58        self,
59        target_position: impl ::core::convert::Into<crate::unity_engine::vector3::Vector3>,
60        path: impl ::core::convert::Into<crate::unity_engine::ai::navmeshpath::NavMeshPath>,
61    ) -> bool {
62        unsafe {
63            let __receiver = <NavMeshAgent as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
64            ::unity::il2cpp_call!((::unity::module_base()+0x3f43920usize)as*mut u8,bool;
65(NavMeshAgent)__receiver,(crate::unity_engine::vector3::Vector3)::core::convert::Into::into(target_position),(crate::unity_engine::ai::navmeshpath::NavMeshPath)::core::convert::Into::into(path))
66        }
67    }
68    #[doc = "`set_speed(f32)` overload"]
69    fn set_speed(self, value: impl ::core::convert::Into<f32>) -> () {
70        unsafe {
71            let __receiver = <NavMeshAgent as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
72            ::unity::il2cpp_call!((::unity::module_base()+0x3f439f0usize)as*mut u8,();
73(NavMeshAgent)__receiver,(f32)::core::convert::Into::into(value))
74        }
75    }
76    #[doc = "`SetDestination_Injected(*mutcrate::unity_engine::vector3::Vector3)` overload"]
77    fn set_destination_injected(self) -> (bool, crate::unity_engine::vector3::Vector3) {
78        unsafe {
79            let __receiver = <NavMeshAgent as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
80            let mut __out_0 = ::core::mem::MaybeUninit::<crate::unity_engine::vector3::Vector3>::uninit();
81            let __ret = {
82                ::unity::il2cpp_call!((::unity::module_base()+0x3f43760usize)as*mut u8,bool;
83(NavMeshAgent)__receiver,(*mut crate::unity_engine::vector3::Vector3)__out_0.as_mut_ptr())
84            };
85            (__ret, __out_0.assume_init())
86        }
87    }
88    #[doc = "`get_steeringTarget_Injected(*mutcrate::unity_engine::vector3::Vector3)` overload"]
89    fn get_steering_target_injected(self) -> crate::unity_engine::vector3::Vector3 {
90        unsafe {
91            let __receiver = <NavMeshAgent as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
92            let mut __out_0 = ::core::mem::MaybeUninit::<crate::unity_engine::vector3::Vector3>::uninit();
93            ::unity::il2cpp_call!((::unity::module_base()+0x3f43810usize)as*mut u8,();
94(NavMeshAgent)__receiver,(*mut crate::unity_engine::vector3::Vector3)__out_0.as_mut_ptr());
95            __out_0.assume_init()
96        }
97    }
98    #[doc = "`CalculatePathInternal_Injected(*mutcrate::unity_engine::vector3::Vector3, crate::unity_engine::ai::navmeshpath::NavMeshPath)` overload"]
99    fn calculate_path_internal_injected(
100        self,
101        path: impl ::core::convert::Into<crate::unity_engine::ai::navmeshpath::NavMeshPath>,
102    ) -> (bool, crate::unity_engine::vector3::Vector3) {
103        unsafe {
104            let __receiver = <NavMeshAgent as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
105            let mut __out_0 = ::core::mem::MaybeUninit::<crate::unity_engine::vector3::Vector3>::uninit();
106            let __ret = {
107                ::unity::il2cpp_call!((::unity::module_base()+0x3f43990usize)as*mut u8,bool;
108(NavMeshAgent)__receiver,(*mut crate::unity_engine::vector3::Vector3)__out_0.as_mut_ptr(),(crate::unity_engine::ai::navmeshpath::NavMeshPath)::core::convert::Into::into(path))
109            };
110            (__ret, __out_0.assume_init())
111        }
112    }
113}
114
115#[cfg(feature = "unity_engine-ai-navmeshagent")]
116impl<__T: INavMeshAgent> INavMeshAgentMethods for __T {}
117
118#[cfg(feature = "unity_engine-ai-navmeshagent")]
119impl NavMeshAgent {
120    pub fn set_destination_method_info() -> &'static ::unity::il2cpp::MethodInfo {
121        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
122    }
123
124    pub fn get_steering_target_method_info() -> &'static ::unity::il2cpp::MethodInfo {
125        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
126    }
127
128    pub fn calculate_path_method_info() -> &'static ::unity::il2cpp::MethodInfo {
129        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
130    }
131
132    pub fn calculate_path_internal_method_info() -> &'static ::unity::il2cpp::MethodInfo {
133        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[3]
134    }
135
136    pub fn set_speed_method_info() -> &'static ::unity::il2cpp::MethodInfo {
137        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[4]
138    }
139
140    pub fn set_destination_injected_method_info() -> &'static ::unity::il2cpp::MethodInfo {
141        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[5]
142    }
143
144    pub fn get_steering_target_injected_method_info() -> &'static ::unity::il2cpp::MethodInfo {
145        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[6]
146    }
147
148    pub fn calculate_path_internal_injected_method_info() -> &'static ::unity::il2cpp::MethodInfo {
149        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[7]
150    }
151}
152
153#[cfg(feature = "unity_engine-ai-navmeshagent")]
154#[doc(hidden)]
155pub mod prelude {
156    pub use super::{INavMeshAgent, INavMeshAgentMethods, NavMeshAgent};
157    #[cfg(feature = "system-object")]
158    pub use crate::system::object::IObjectMethods;
159    #[cfg(feature = "unity_engine-behaviour")]
160    pub use crate::unity_engine::behaviour::IBehaviourMethods;
161    #[cfg(feature = "unity_engine-component")]
162    pub use crate::unity_engine::component::IComponentMethods;
163    #[cfg(feature = "unity_engine-object_2")]
164    pub use crate::unity_engine::object_2::IObject_2Methods;
165    pub use crate::{
166        system::object::IObject,
167        unity_engine::{behaviour::IBehaviour, component::IComponent, object_2::IObject_2},
168    };
169}