Skip to main content

engage/generated/unity_engine/timeline/
playabletrack.rs

1// @generated by il2cpp-bindgen — do not edit by hand.
2
3#[cfg(feature = "unity_engine-timeline-playabletrack-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            object_2::{IObject_2, Object_2},
12            playables::playableasset::{IPlayableAsset, PlayableAsset},
13            scriptableobject::{IScriptableObject, ScriptableObject},
14            timeline::trackasset::{ITrackAsset, TrackAsset},
15        },
16    };
17
18    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/unity_engine/timeline/playabletrack/PlayableTrack.md"))]
19    #[::unity::class(namespace = "UnityEngine.Timeline", name = "PlayableTrack")]
20    #[parent(crate::unity_engine::timeline::trackasset::TrackAsset)]
21    pub struct PlayableTrack {}
22}
23
24#[cfg(feature = "unity_engine-timeline-playabletrack-types")]
25pub use __types::*;
26
27#[cfg(feature = "unity_engine-timeline-playabletrack")]
28pub trait IPlayableTrackMethods: IPlayableTrack {
29    #[doc = "`OnCreateClip(crate::unity_engine::timeline::timelineclip::TimelineClip)` overload"]
30    fn on_create_clip(self, clip: impl ::core::convert::Into<crate::unity_engine::timeline::timelineclip::TimelineClip>) -> () {
31        unsafe {
32            let __receiver = <PlayableTrack as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
33            {
34                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
35                let __vi = *__vt.get(29usize).unwrap_or_else(|| {
36                    panic!(
37                        "unity: virtual slot {}
38 out of range (vtable len {}
39) on the runtime class behind {}
40 (method `{}
41`)",
42                        29usize,
43                        __vt.len(),
44                        <PlayableTrack as ::unity::ClassIdentity>::NAME,
45                        "OnCreateClip",
46                    )
47                });
48                let __inner: extern "C" fn(PlayableTrack, crate::unity_engine::timeline::timelineclip::TimelineClip, ::unity::OptionalMethod) -> () =
49                    ::core::mem::transmute(__vi.method_ptr);
50                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
51                __inner(__receiver, ::core::convert::Into::into(clip), __mi)
52            }
53        }
54    }
55    #[doc = "`.ctor()` overload"]
56    fn ctor(self) -> () {
57        unsafe {
58            let __receiver = <PlayableTrack as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
59            ::unity::il2cpp_call!((::unity::module_base()+0x35d9450usize)as*mut u8,();
60(PlayableTrack)__receiver)
61        }
62    }
63}
64
65#[cfg(feature = "unity_engine-timeline-playabletrack")]
66impl<__T: IPlayableTrack> IPlayableTrackMethods for __T {}
67
68#[cfg(feature = "unity_engine-timeline-playabletrack")]
69impl PlayableTrack {
70    pub fn on_create_clip_method_info() -> &'static ::unity::il2cpp::MethodInfo {
71        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
72    }
73
74    pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
75        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
76    }
77}
78
79#[cfg(feature = "unity_engine-timeline-playabletrack")]
80impl PlayableTrack {
81    #[doc = "Direct (non-virtual) call to `PlayableTrack`'s own `OnCreateClip`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
82    pub unsafe fn on_create_clip(
83        this: impl ::core::convert::Into<::unity::IlInstance>,
84        clip: crate::unity_engine::timeline::timelineclip::TimelineClip,
85    ) -> () {
86        let __mi = Self::on_create_clip_method_info();
87        let __inner: extern "C" fn(::unity::IlInstance, crate::unity_engine::timeline::timelineclip::TimelineClip, ::unity::OptionalMethod) -> () =
88            ::core::mem::transmute(__mi.method_ptr);
89        __inner(this.into(), clip, ::core::option::Option::None)
90    }
91}
92
93#[cfg(feature = "unity_engine-timeline-playabletrack")]
94impl PlayableTrack {
95    #[doc = "`.ctor()` — no args"]
96    pub fn new() -> Self {
97        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
98            panic!(
99                "{}
100::{}
101 failed to instantiate",
102                ::core::stringify!(PlayableTrack),
103                ::core::stringify!(new),
104            )
105        });
106        <Self as IPlayableTrackMethods>::ctor(this);
107        this
108    }
109}
110
111#[cfg(feature = "unity_engine-timeline-playabletrack")]
112#[doc(hidden)]
113pub mod prelude {
114    pub use super::{IPlayableTrack, IPlayableTrackMethods, PlayableTrack};
115    #[cfg(feature = "system-object")]
116    pub use crate::system::object::IObjectMethods;
117    #[cfg(feature = "unity_engine-object_2")]
118    pub use crate::unity_engine::object_2::IObject_2Methods;
119    #[cfg(feature = "unity_engine-playables-playableasset")]
120    pub use crate::unity_engine::playables::playableasset::IPlayableAssetMethods;
121    #[cfg(feature = "unity_engine-scriptableobject")]
122    pub use crate::unity_engine::scriptableobject::IScriptableObjectMethods;
123    #[cfg(feature = "unity_engine-timeline-trackasset")]
124    pub use crate::unity_engine::timeline::trackasset::ITrackAssetMethods;
125    pub use crate::{
126        system::object::IObject,
127        unity_engine::{
128            object_2::IObject_2, playables::playableasset::IPlayableAsset, scriptableobject::IScriptableObject, timeline::trackasset::ITrackAsset,
129        },
130    };
131}