Skip to main content

engage/generated/unity_engine/ui/
outline.rs

1// @generated by il2cpp-bindgen — do not edit by hand.
2
3#[cfg(feature = "unity_engine-ui-outline-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            event_systems::uibehaviour::{IUIBehaviour, UIBehaviour},
14            monobehaviour::{IMonoBehaviour, MonoBehaviour},
15            object_2::{IObject_2, Object_2},
16            ui::{
17                basemesheffect::{BaseMeshEffect, IBaseMeshEffect},
18                shadow::{IShadow, Shadow},
19            },
20        },
21    };
22
23    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/unity_engine/ui/outline/Outline.md"))]
24    #[::unity::class(namespace = "UnityEngine.UI", name = "Outline")]
25    #[parent(crate::unity_engine::ui::shadow::Shadow)]
26    pub struct Outline {}
27}
28
29#[cfg(feature = "unity_engine-ui-outline-types")]
30pub use __types::*;
31
32#[cfg(feature = "unity_engine-ui-outline")]
33pub trait IOutlineMethods: IOutline {
34    #[doc = "`.ctor()` overload"]
35    fn ctor(self) -> () {
36        unsafe {
37            let __receiver = <Outline as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
38            ::unity::il2cpp_call!((::unity::module_base()+0x371d8a0usize)as*mut u8,();
39(Outline)__receiver)
40        }
41    }
42    #[doc = "`ModifyMesh(crate::unity_engine::ui::vertexhelper::VertexHelper)` overload"]
43    fn modify_mesh(self, vh: impl ::core::convert::Into<crate::unity_engine::ui::vertexhelper::VertexHelper>) -> () {
44        unsafe {
45            let __receiver = <Outline as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
46            {
47                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
48                let __vi = *__vt.get(20usize).unwrap_or_else(|| {
49                    panic!(
50                        "unity: virtual slot {}
51 out of range (vtable len {}
52) on the runtime class behind {}
53 (method `{}
54`)",
55                        20usize,
56                        __vt.len(),
57                        <Outline as ::unity::ClassIdentity>::NAME,
58                        "ModifyMesh",
59                    )
60                });
61                let __inner: extern "C" fn(Outline, crate::unity_engine::ui::vertexhelper::VertexHelper, ::unity::OptionalMethod) -> () =
62                    ::core::mem::transmute(__vi.method_ptr);
63                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
64                __inner(__receiver, ::core::convert::Into::into(vh), __mi)
65            }
66        }
67    }
68}
69
70#[cfg(feature = "unity_engine-ui-outline")]
71impl<__T: IOutline> IOutlineMethods for __T {}
72
73#[cfg(feature = "unity_engine-ui-outline")]
74impl Outline {
75    pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
76        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
77    }
78
79    pub fn modify_mesh_method_info() -> &'static ::unity::il2cpp::MethodInfo {
80        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
81    }
82}
83
84#[cfg(feature = "unity_engine-ui-outline")]
85impl Outline {
86    #[doc = "Direct (non-virtual) call to `Outline`'s own `ModifyMesh`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
87    pub unsafe fn modify_mesh(this: impl ::core::convert::Into<::unity::IlInstance>, vh: crate::unity_engine::ui::vertexhelper::VertexHelper) -> () {
88        let __mi = Self::modify_mesh_method_info();
89        let __inner: extern "C" fn(::unity::IlInstance, crate::unity_engine::ui::vertexhelper::VertexHelper, ::unity::OptionalMethod) -> () =
90            ::core::mem::transmute(__mi.method_ptr);
91        __inner(this.into(), vh, ::core::option::Option::None)
92    }
93}
94
95#[cfg(feature = "unity_engine-ui-outline")]
96impl Outline {
97    #[doc = "`.ctor()` — no args"]
98    pub fn new() -> Self {
99        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
100            panic!(
101                "{}
102::{}
103 failed to instantiate",
104                ::core::stringify!(Outline),
105                ::core::stringify!(new),
106            )
107        });
108        <Self as IOutlineMethods>::ctor(this);
109        this
110    }
111}
112
113#[cfg(feature = "unity_engine-ui-outline")]
114#[doc(hidden)]
115pub mod prelude {
116    pub use super::{IOutline, IOutlineMethods, Outline};
117    #[cfg(feature = "system-object")]
118    pub use crate::system::object::IObjectMethods;
119    #[cfg(feature = "unity_engine-behaviour")]
120    pub use crate::unity_engine::behaviour::IBehaviourMethods;
121    #[cfg(feature = "unity_engine-component")]
122    pub use crate::unity_engine::component::IComponentMethods;
123    #[cfg(feature = "unity_engine-event_systems-uibehaviour")]
124    pub use crate::unity_engine::event_systems::uibehaviour::IUIBehaviourMethods;
125    #[cfg(feature = "unity_engine-monobehaviour")]
126    pub use crate::unity_engine::monobehaviour::IMonoBehaviourMethods;
127    #[cfg(feature = "unity_engine-object_2")]
128    pub use crate::unity_engine::object_2::IObject_2Methods;
129    #[cfg(feature = "unity_engine-ui-basemesheffect")]
130    pub use crate::unity_engine::ui::basemesheffect::IBaseMeshEffectMethods;
131    #[cfg(feature = "unity_engine-ui-shadow")]
132    pub use crate::unity_engine::ui::shadow::IShadowMethods;
133    pub use crate::{
134        system::object::IObject,
135        unity_engine::{
136            behaviour::IBehaviour,
137            component::IComponent,
138            event_systems::uibehaviour::IUIBehaviour,
139            monobehaviour::IMonoBehaviour,
140            object_2::IObject_2,
141            ui::{basemesheffect::IBaseMeshEffect, shadow::IShadow},
142        },
143    };
144}