Skip to main content

engage/generated/unity_engine/resource_management/resource_providers/
jsonassetprovider.rs

1// @generated by il2cpp-bindgen — do not edit by hand.
2
3#[cfg(feature = "unity_engine-resource_management-resource_providers-jsonassetprovider-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::resource_management::resource_providers::{
11            resourceproviderbase::{IResourceProviderBase, ResourceProviderBase},
12            textdataprovider::{ITextDataProvider, TextDataProvider},
13        },
14    };
15
16    #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/unity_engine/resource_management/resource_providers/jsonassetprovider/JsonAssetProvider.md"))]
17    #[::unity::class(namespace = "UnityEngine.ResourceManagement.ResourceProviders", name = "JsonAssetProvider")]
18    #[parent(crate::unity_engine::resource_management::resource_providers::textdataprovider::TextDataProvider)]
19    pub struct JsonAssetProvider {}
20}
21
22#[cfg(feature = "unity_engine-resource_management-resource_providers-jsonassetprovider-types")]
23pub use __types::*;
24
25#[cfg(feature = "unity_engine-resource_management-resource_providers-jsonassetprovider")]
26#[doc(hidden)]
27#[allow(non_snake_case, non_camel_case_types, clippy::too_many_arguments)]
28mod __JsonAssetProvider_unity_raw {
29    use super::*;
30    #[doc(hidden)]
31    #[allow(non_snake_case)]
32    pub mod __lookup_ctor {
33        use super::*;
34        static METHOD: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
35            let param_types: &[&'static ::unity::il2cpp::Il2CppType] = &[];
36            ::unity::lookup::method_info_on_class_with_signature(
37                <JsonAssetProvider as ::unity::ClassIdentity>::class(),
38                ".ctor",
39                0,
40                param_types,
41                false,
42            )
43        });
44        pub fn get_method_info() -> &'static ::unity::il2cpp::MethodInfo {
45            match &*METHOD {
46                ::core::result::Result::Ok(mi) => *mi,
47                ::core::result::Result::Err(e) => {
48                    panic!(
49                        "method lookup failed: {}
50::{}
51: {}
52",
53                        <JsonAssetProvider as ::unity::ClassIdentity>::NAME,
54                        ".ctor",
55                        e
56                    )
57                },
58            }
59        }
60    }
61}
62
63#[cfg(feature = "unity_engine-resource_management-resource_providers-jsonassetprovider")]
64pub trait IJsonAssetProviderMethods: IJsonAssetProvider {
65    #[doc = "`Convert(::unity::SystemType, ::unity::Il2CppString)` overload"]
66    fn convert(
67        self,
68        r#type: impl ::core::convert::Into<::unity::SystemType>,
69        text: impl ::core::convert::Into<::unity::Il2CppString>,
70    ) -> crate::system::object::Object {
71        unsafe {
72            let __receiver = <JsonAssetProvider as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
73            {
74                let __vt = ::unity::Cast::get_class(__receiver).raw().get_vtable();
75                let __vi = *__vt.get(19usize).unwrap_or_else(|| {
76                    panic!(
77                        "unity: virtual slot {}
78 out of range (vtable len {}
79) on the runtime class behind {}
80 (method `{}
81`)",
82                        19usize,
83                        __vt.len(),
84                        <JsonAssetProvider as ::unity::ClassIdentity>::NAME,
85                        "Convert",
86                    )
87                });
88                let __inner: extern "C" fn(
89                    JsonAssetProvider,
90                    ::unity::SystemType,
91                    ::unity::Il2CppString,
92                    ::unity::OptionalMethod,
93                ) -> crate::system::object::Object = ::core::mem::transmute(__vi.method_ptr);
94                let __mi: ::unity::OptionalMethod = ::core::option::Option::Some(&*(__vi.method_info as *const ::unity::MethodInfo as *const ()));
95                __inner(__receiver, ::core::convert::Into::into(r#type), ::core::convert::Into::into(text), __mi)
96            }
97        }
98    }
99    #[doc = "`.ctor()` overload"]
100    fn ctor(self) -> () {
101        unsafe {
102            let __receiver = <JsonAssetProvider as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
103            ::unity::il2cpp_call!(__JsonAssetProvider_unity_raw::__lookup_ctor::get_method_info().method_ptr,();
104(JsonAssetProvider)__receiver)
105        }
106    }
107}
108
109#[cfg(feature = "unity_engine-resource_management-resource_providers-jsonassetprovider")]
110impl<__T: IJsonAssetProvider> IJsonAssetProviderMethods for __T {}
111
112#[cfg(feature = "unity_engine-resource_management-resource_providers-jsonassetprovider")]
113impl JsonAssetProvider {
114    pub fn convert_method_info() -> &'static ::unity::il2cpp::MethodInfo {
115        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
116    }
117
118    pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
119        <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
120    }
121}
122
123#[cfg(feature = "unity_engine-resource_management-resource_providers-jsonassetprovider")]
124impl JsonAssetProvider {
125    #[doc = "Direct (non-virtual) call to `JsonAssetProvider`'s own `Convert`. Bypasses the vtable, so it won't hit an override/patch — use it for base calls."]
126    pub unsafe fn convert(
127        this: impl ::core::convert::Into<::unity::IlInstance>,
128        r#type: ::unity::SystemType,
129        text: ::unity::Il2CppString,
130    ) -> crate::system::object::Object {
131        let __mi = Self::convert_method_info();
132        let __inner: extern "C" fn(
133            ::unity::IlInstance,
134            ::unity::SystemType,
135            ::unity::Il2CppString,
136            ::unity::OptionalMethod,
137        ) -> crate::system::object::Object = ::core::mem::transmute(__mi.method_ptr);
138        __inner(this.into(), r#type, text, ::core::option::Option::None)
139    }
140}
141
142#[cfg(feature = "unity_engine-resource_management-resource_providers-jsonassetprovider")]
143impl JsonAssetProvider {
144    #[doc = "`.ctor()` — no args"]
145    pub fn new() -> Self {
146        let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
147            panic!(
148                "{}
149::{}
150 failed to instantiate",
151                ::core::stringify!(JsonAssetProvider),
152                ::core::stringify!(new),
153            )
154        });
155        <Self as IJsonAssetProviderMethods>::ctor(this);
156        this
157    }
158}
159
160#[cfg(feature = "unity_engine-resource_management-resource_providers-jsonassetprovider")]
161#[doc(hidden)]
162pub mod prelude {
163    pub use super::{IJsonAssetProvider, IJsonAssetProviderMethods, JsonAssetProvider};
164    #[cfg(feature = "system-object")]
165    pub use crate::system::object::IObjectMethods;
166    #[cfg(feature = "unity_engine-resource_management-resource_providers-resourceproviderbase")]
167    pub use crate::unity_engine::resource_management::resource_providers::resourceproviderbase::IResourceProviderBaseMethods;
168    #[cfg(feature = "unity_engine-resource_management-resource_providers-textdataprovider")]
169    pub use crate::unity_engine::resource_management::resource_providers::textdataprovider::ITextDataProviderMethods;
170    pub use crate::{
171        system::object::IObject,
172        unity_engine::resource_management::resource_providers::{resourceproviderbase::IResourceProviderBase, textdataprovider::ITextDataProvider},
173    };
174}