engage/generated/unity_engine/
scriptableobject.rs1#[cfg(feature = "unity_engine-scriptableobject-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::object_2::{IObject_2, Object_2},
11 };
12
13 #[doc=include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/","docs/unity_engine/scriptableobject/ScriptableObject.md"))]
14 #[::unity::class(namespace = "UnityEngine", name = "ScriptableObject")]
15 #[parent(crate::unity_engine::object_2::Object_2)]
16 pub struct ScriptableObject {}
17}
18
19#[cfg(feature = "unity_engine-scriptableobject-types")]
20pub use __types::*;
21
22#[cfg(feature = "unity_engine-scriptableobject")]
23impl ScriptableObject {
24 #[doc = "`CreateInstance(::unity::SystemType)` overload"]
25 pub fn create_instance(r#type: impl ::core::convert::Into<::unity::SystemType>) -> crate::unity_engine::scriptableobject::ScriptableObject {
26 unsafe {
27 ::unity::il2cpp_call!((::unity::module_base()+0x2f8c730usize)as*mut u8,crate::unity_engine::scriptableobject::ScriptableObject;
28(::unity::SystemType)::core::convert::Into::into(r#type))
29 }
30 }
31
32 pub fn create_instance_2<M0: ::unity::IlType + ::core::marker::Copy + ::unity::ClassIdentity>() -> M0 {
33 static OPEN: ::std::sync::LazyLock<::unity::Il2CppResult<&'static ::unity::il2cpp::MethodInfo>> = ::std::sync::LazyLock::new(|| {
34 ::unity::lookup::method_info_on_class(<ScriptableObject as ::unity::ClassIdentity>::class(), "CreateInstance", 0)
35 });
36 #[allow(clippy::type_complexity)]
37 static CACHE: ::std::sync::OnceLock<::std::sync::Mutex<::std::collections::HashMap<usize, &'static ::unity::il2cpp::MethodInfo>>> =
38 ::std::sync::OnceLock::new();
39 let _ = true;
40 let __open: &'static ::unity::il2cpp::MethodInfo = match &*OPEN {
41 ::core::result::Result::Ok(mi) => *mi,
42 ::core::result::Result::Err(e) => {
43 panic!(
44 "method lookup failed: {}
45::{}
46: {}
47",
48 <ScriptableObject as ::unity::ClassIdentity>::NAME,
49 "CreateInstance",
50 e
51 )
52 },
53 };
54 let __cache = CACHE.get_or_init(|| ::std::sync::Mutex::new(::std::collections::HashMap::new()));
55 let __key: usize = <M0 as ::unity::IlType>::il_type() as *const _ as usize;
56 let __inflated: &'static ::unity::il2cpp::MethodInfo = {
57 let mut __guard = __cache.lock().unwrap();
58 *__guard
59 .entry(__key)
60 .or_insert_with(|| ::unity::il2cpp::generic::create_generic_method_info(__open, &[<M0 as ::unity::IlType>::il_type()]))
61 };
62 unsafe {
63 let __f: extern "C" fn(::unity::OptionalMethod) -> M0 = ::core::mem::transmute(__inflated.method_ptr);
64 let __mi_opaque: &'static () = &*(__inflated as *const _ as *const ());
65 __f(::core::option::Option::Some(__mi_opaque))
66 }
67 }
68
69 #[doc = "`CreateScriptableObject(crate::unity_engine::scriptableobject::ScriptableObject)` overload"]
70 pub fn create_scriptable_object(self_: impl ::core::convert::Into<crate::unity_engine::scriptableobject::ScriptableObject>) -> () {
71 unsafe {
72 ::unity::il2cpp_call!((::unity::module_base()+0x2f8c6e0usize)as*mut u8,();
73(crate::unity_engine::scriptableobject::ScriptableObject)::core::convert::Into::into(self_))
74 }
75 }
76
77 #[doc = "`CreateScriptableObjectInstanceFromType(::unity::SystemType, bool)` overload"]
78 pub fn create_scriptable_object_instance_from_type(
79 r#type: impl ::core::convert::Into<::unity::SystemType>,
80 apply_defaults_and_reset: impl ::core::convert::Into<bool>,
81 ) -> crate::unity_engine::scriptableobject::ScriptableObject {
82 unsafe {
83 ::unity::il2cpp_call!((::unity::module_base()+0x2f8c780usize)as*mut u8,crate::unity_engine::scriptableobject::ScriptableObject;
84(::unity::SystemType)::core::convert::Into::into(r#type),(bool)::core::convert::Into::into(apply_defaults_and_reset))
85 }
86 }
87}
88
89#[cfg(feature = "unity_engine-scriptableobject")]
90pub trait IScriptableObjectMethods: IScriptableObject {
91 #[doc = "`.ctor()` overload"]
92 fn ctor(self) -> () {
93 unsafe {
94 let __receiver = <ScriptableObject as ::unity::FromIlInstance>::from_il_instance(<Self as ::unity::SystemObject>::as_instance(self));
95 ::unity::il2cpp_call!((::unity::module_base()+0x2f80f80usize)as*mut u8,();
96(ScriptableObject)__receiver)
97 }
98 }
99}
100
101#[cfg(feature = "unity_engine-scriptableobject")]
102impl<__T: IScriptableObject> IScriptableObjectMethods for __T {}
103
104#[cfg(feature = "unity_engine-scriptableobject")]
105impl ScriptableObject {
106 pub fn ctor_method_info() -> &'static ::unity::il2cpp::MethodInfo {
107 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[0]
108 }
109
110 pub fn create_instance_method_info() -> &'static ::unity::il2cpp::MethodInfo {
111 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[1]
112 }
113
114 pub fn create_scriptable_object_method_info() -> &'static ::unity::il2cpp::MethodInfo {
115 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[3]
116 }
117
118 pub fn create_scriptable_object_instance_from_type_method_info() -> &'static ::unity::il2cpp::MethodInfo {
119 <Self as ::unity::ClassIdentity>::class().raw().get_methods()[4]
120 }
121}
122
123#[cfg(feature = "unity_engine-scriptableobject")]
124impl ScriptableObject {
125 #[doc = "`.ctor()` — no args"]
126 pub fn new() -> Self {
127 let this = <Self as ::unity::FromIlInstance>::instantiate().unwrap_or_else(|| {
128 panic!(
129 "{}
130::{}
131 failed to instantiate",
132 ::core::stringify!(ScriptableObject),
133 ::core::stringify!(new),
134 )
135 });
136 <Self as IScriptableObjectMethods>::ctor(this);
137 this
138 }
139}
140
141#[cfg(feature = "unity_engine-scriptableobject")]
142#[doc(hidden)]
143pub mod prelude {
144 pub use super::{IScriptableObject, IScriptableObjectMethods, ScriptableObject};
145 #[cfg(feature = "system-object")]
146 pub use crate::system::object::IObjectMethods;
147 #[cfg(feature = "unity_engine-object_2")]
148 pub use crate::unity_engine::object_2::IObject_2Methods;
149 pub use crate::{system::object::IObject, unity_engine::object_2::IObject_2};
150}