Skip to main content

engage/generated/unity_engine/addressable_assets/resource_locators/
iresourcelocator.rs

1// @generated by il2cpp-bindgen — do not edit by hand.
2
3#[cfg(feature = "unity_engine-addressable_assets-resource_locators-iresourcelocator-types")]
4mod __types {
5    #[allow(unused_imports)] use ::unity::prelude::*;
6
7    use super::*;
8
9    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/unity_engine/addressable_assets/resource_locators/iresourcelocator/IResourceLocator.md"))]
10    #[::unity::class(namespace = "UnityEngine.AddressableAssets.ResourceLocators", name = "IResourceLocator")]
11    pub struct IResourceLocator {}
12}
13
14#[cfg(feature = "unity_engine-addressable_assets-resource_locators-iresourcelocator-types")]
15pub use __types::*;
16
17#[cfg(feature = "unity_engine-addressable_assets-resource_locators-iresourcelocator")]
18pub trait IIResourceLocatorMethods: IIResourceLocator {
19    #[doc = "`get_LocatorId()` overload"]
20    fn get_locator_id(self) -> ::unity::Il2CppString {
21        unsafe {
22            let __receiver = <IResourceLocator as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
23            {
24                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
25                let __vi = *__vt.get(0usize).unwrap_or_else(|| {
26                    panic!(
27                        "unity: virtual slot {}
28 out of range (vtable len {}
29) on the runtime class behind {}
30 (method `{}
31`)",
32                        0usize,
33                        __vt.len(),
34                        <IResourceLocator as ::unity::ClassIdentity>::NAME,
35                        "get_LocatorId",
36                    )
37                });
38                let __inner: extern "C" fn(IResourceLocator, ::unity::OptionalMethod) -> ::unity::Il2CppString =
39                    ::core::mem::transmute(__vi.method_ptr);
40                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
41                __inner(__receiver, __mi)
42            }
43        }
44    }
45    #[doc = "`get_Keys()` overload"]
46    fn get_keys(self) -> crate::system::collections::generic::ienumerable_1::IEnumerable_1<crate::system::object::Object> {
47        unsafe {
48            let __receiver = <IResourceLocator as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
49            {
50                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
51                let __vi = *__vt.get(1usize).unwrap_or_else(|| {
52                    panic!(
53                        "unity: virtual slot {}
54 out of range (vtable len {}
55) on the runtime class behind {}
56 (method `{}
57`)",
58                        1usize,
59                        __vt.len(),
60                        <IResourceLocator as ::unity::ClassIdentity>::NAME,
61                        "get_Keys",
62                    )
63                });
64                let __inner: extern "C" fn(
65                    IResourceLocator,
66                    ::unity::OptionalMethod,
67                )
68                    -> crate::system::collections::generic::ienumerable_1::IEnumerable_1<crate::system::object::Object> =
69                    ::core::mem::transmute(__vi.method_ptr);
70                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
71                __inner(__receiver, __mi)
72            }
73        }
74    }
75    #[doc = "`Locate(crate::system::object::Object, ::unity::SystemType, *mutcrate::system::collections::generic::ilist_1_interface::IList_1_Interface<crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation>)` overload"]
76    fn locate(
77        self,
78        key: impl ::core::convert::Into<crate::system::object::Object>,
79        r#type: impl ::core::convert::Into<::unity::SystemType>,
80    ) -> (
81        bool,
82        crate::system::collections::generic::ilist_1_interface::IList_1_Interface<
83            crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation,
84        >,
85    ) {
86        unsafe {
87            let __receiver = <IResourceLocator as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
88            let mut __out_0 = ::core::mem::MaybeUninit::<
89                crate::system::collections::generic::ilist_1_interface::IList_1_Interface<
90                    crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation,
91                >,
92            >::uninit();
93            let __ret = {
94                {
95                    let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
96                    let __vi = *__vt.get(2usize).unwrap_or_else(|| {
97                        panic!(
98                            "unity: virtual slot {}
99 out of range (vtable len {}
100) on the runtime class behind {}
101 (method `{}
102`)",
103                            2usize,
104                            __vt.len(),
105                            <IResourceLocator as ::unity::ClassIdentity>::NAME,
106                            "Locate",
107                        )
108                    });
109                    let __inner: extern "C" fn(
110                        IResourceLocator,
111                        crate::system::object::Object,
112                        ::unity::SystemType,
113                        *mut crate::system::collections::generic::ilist_1_interface::IList_1_Interface<
114                            crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation,
115                        >,
116                        ::unity::OptionalMethod,
117                    ) -> bool = ::core::mem::transmute(__vi.method_ptr);
118                    let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
119                    __inner(
120                        __receiver,
121                        ::core::convert::Into::into(key),
122                        ::core::convert::Into::into(r#type),
123                        __out_0.as_mut_ptr(),
124                        __mi,
125                    )
126                }
127            };
128            (__ret, __out_0.assume_init())
129        }
130    }
131}
132
133#[cfg(feature = "unity_engine-addressable_assets-resource_locators-iresourcelocator")]
134impl<__T: IIResourceLocator> IIResourceLocatorMethods for __T {}
135
136#[cfg(feature = "unity_engine-addressable_assets-resource_locators-iresourcelocator")]
137impl IResourceLocator {
138    pub fn get_locator_id_method_info() -> &'static ::unity::il2cpp::MethodInfo {
139        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
140    }
141
142    pub fn get_keys_method_info() -> &'static ::unity::il2cpp::MethodInfo {
143        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
144    }
145
146    pub fn locate_method_info() -> &'static ::unity::il2cpp::MethodInfo {
147        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[2]
148    }
149}
150
151#[cfg(feature = "unity_engine-addressable_assets-resource_locators-iresourcelocator")]
152impl IResourceLocator {
153    #[doc = "Direct (non-virtual) call to `IResourceLocator`'s own `get_LocatorId`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
154    pub unsafe fn get_locator_id(this: impl ::core::convert::Into<::unity::IlInstance>) -> ::unity::Il2CppString {
155        let __mi = Self::get_locator_id_method_info();
156        let __inner: extern "C" fn(::unity::IlInstance, ::unity::OptionalMethod) -> ::unity::Il2CppString = ::core::mem::transmute(__mi.method_ptr);
157        __inner(this.into(), ::core::option::Option::None)
158    }
159
160    #[doc = "Direct (non-virtual) call to `IResourceLocator`'s own `get_Keys`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
161    pub unsafe fn get_keys(
162        this: impl ::core::convert::Into<::unity::IlInstance>,
163    ) -> crate::system::collections::generic::ienumerable_1::IEnumerable_1<crate::system::object::Object> {
164        let __mi = Self::get_keys_method_info();
165        let __inner: extern "C" fn(
166            ::unity::IlInstance,
167            ::unity::OptionalMethod,
168        ) -> crate::system::collections::generic::ienumerable_1::IEnumerable_1<crate::system::object::Object> =
169            ::core::mem::transmute(__mi.method_ptr);
170        __inner(this.into(), ::core::option::Option::None)
171    }
172
173    #[doc = "Direct (non-virtual) call to `IResourceLocator`'s own `Locate`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
174    pub unsafe fn locate(
175        this: impl ::core::convert::Into<::unity::IlInstance>,
176        key: crate::system::object::Object,
177        r#type: ::unity::SystemType,
178        locations: *mut crate::system::collections::generic::ilist_1_interface::IList_1_Interface<
179            crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation,
180        >,
181    ) -> bool {
182        let __mi = Self::locate_method_info();
183        let __inner: extern "C" fn(
184            ::unity::IlInstance,
185            crate::system::object::Object,
186            ::unity::SystemType,
187            *mut crate::system::collections::generic::ilist_1_interface::IList_1_Interface<
188                crate::unity_engine::resource_management::resource_locations::iresourcelocation::IResourceLocation,
189            >,
190            ::unity::OptionalMethod,
191        ) -> bool = ::core::mem::transmute(__mi.method_ptr);
192        __inner(this.into(), key, r#type, locations, ::core::option::Option::None)
193    }
194}
195
196#[cfg(feature = "unity_engine-addressable_assets-resource_locators-iresourcelocator")]
197#[doc(hidden)]
198pub mod prelude {
199    pub use super::{IIResourceLocator, IIResourceLocatorMethods, IResourceLocator};
200}