1use super::class_requires::*;
2use super::*;
3#[allow(non_upper_case_globals, non_snake_case)]
10#[cfg_attr(feature = "json_schema", derive(schemars::JsonSchema))]
11#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
12#[derive(educe::Educe)]
13#[educe(Debug, Clone, Default, PartialEq)]
14pub struct hkResourceBase {
15 #[cfg_attr(
22 feature = "serde",
23 serde(skip_serializing_if = "Option::is_none", default)
24 )]
25 pub __ptr: Option<Pointer>,
26 #[cfg_attr(feature = "json_schema", schemars(flatten))]
28 #[cfg_attr(feature = "serde", serde(flatten))]
29 pub parent: hkReferencedObject,
30}
31const _: () = {
32 use havok_serde as _serde;
33 impl _serde::HavokClass for hkResourceBase {
34 #[inline]
35 fn name(&self) -> &'static str {
36 "hkResourceBase"
37 }
38 #[inline]
39 fn signature(&self) -> _serde::__private::Signature {
40 _serde::__private::Signature::new(0x660d7cac)
41 }
42 #[allow(clippy::let_and_return, clippy::vec_init_then_push)]
43 fn deps_indexes(&self) -> Vec<usize> {
44 let mut v = Vec::new();
45 v
46 }
47 }
48 impl _serde::Serialize for hkResourceBase {
49 fn serialize<S>(&self, __serializer: S) -> Result<S::Ok, S::Error>
50 where
51 S: _serde::ser::Serializer,
52 {
53 let class_meta = self
54 .__ptr
55 .map(|name| (name, _serde::__private::Signature::new(0x660d7cac)));
56 let mut serializer = __serializer
57 .serialize_struct("hkResourceBase", class_meta, (8u64, 16u64))?;
58 serializer.pad_field([0u8; 4usize].as_slice(), [0u8; 8usize].as_slice())?;
59 serializer.skip_field("memSizeAndFlags", &self.parent.m_memSizeAndFlags)?;
60 serializer.skip_field("referenceCount", &self.parent.m_referenceCount)?;
61 serializer.pad_field([0u8; 0usize].as_slice(), [0u8; 4usize].as_slice())?;
62 serializer.end()
63 }
64 }
65};
66#[doc(hidden)]
67#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)]
68const _: () = {
69 use havok_serde as _serde;
70 #[automatically_derived]
71 impl<'de> _serde::Deserialize<'de> for hkResourceBase {
72 fn deserialize<__D>(deserializer: __D) -> core::result::Result<Self, __D::Error>
73 where
74 __D: _serde::Deserializer<'de>,
75 {
76 #[allow(non_camel_case_types)]
77 enum __Field {
78 __ignore,
79 }
80 struct __FieldVisitor;
81 impl<'de> _serde::de::Visitor<'de> for __FieldVisitor {
82 type Value = __Field;
83 fn expecting(
84 &self,
85 __formatter: &mut core::fmt::Formatter,
86 ) -> core::fmt::Result {
87 core::fmt::Formatter::write_str(__formatter, "field identifier")
88 }
89 #[allow(clippy::match_single_binding)]
91 #[allow(clippy::reversed_empty_ranges)]
92 #[allow(clippy::single_match)]
93 fn visit_key<__E>(
94 self,
95 __value: &str,
96 ) -> core::result::Result<Self::Value, __E>
97 where
98 __E: _serde::de::Error,
99 {
100 match __value {
101 _ => Ok(__Field::__ignore),
102 }
103 }
104 }
105 impl<'de> _serde::Deserialize<'de> for __Field {
106 #[inline]
107 fn deserialize<__D>(
108 __deserializer: __D,
109 ) -> core::result::Result<Self, __D::Error>
110 where
111 __D: _serde::Deserializer<'de>,
112 {
113 _serde::Deserializer::deserialize_key(__deserializer, __FieldVisitor)
114 }
115 }
116 struct __hkResourceBaseVisitor<'de> {
117 marker: _serde::__private::PhantomData<hkResourceBase>,
118 lifetime: _serde::__private::PhantomData<&'de ()>,
119 }
120 #[allow(clippy::match_single_binding)]
121 #[allow(clippy::reversed_empty_ranges)]
122 #[allow(clippy::single_match)]
123 impl<'de> _serde::de::Visitor<'de> for __hkResourceBaseVisitor<'de> {
124 type Value = hkResourceBase;
125 fn expecting(
126 &self,
127 __formatter: &mut core::fmt::Formatter,
128 ) -> core::fmt::Result {
129 core::fmt::Formatter::write_str(__formatter, "struct hkResourceBase")
130 }
131 fn visit_struct_for_bytes<__A>(
132 self,
133 mut __map: __A,
134 ) -> _serde::__private::Result<Self::Value, __A::Error>
135 where
136 __A: _serde::de::MapAccess<'de>,
137 {
138 let __ptr = __A::class_ptr(&mut __map);
139 let parent = __A::parent_value(&mut __map)?;
140 for i in 0..0usize {
141 match i {
142 _ => {}
143 }
144 }
145 _serde::__private::Ok(hkResourceBase { __ptr, parent })
146 }
147 #[allow(clippy::manual_unwrap_or_default)]
148 fn visit_struct<__A>(
149 self,
150 mut __map: __A,
151 ) -> _serde::__private::Result<Self::Value, __A::Error>
152 where
153 __A: _serde::de::MapAccess<'de>,
154 {
155 while let _serde::__private::Some(__key) = {
156 __A::next_key::<__Field>(&mut __map)?
157 } {
158 match __key {
159 _ => __A::skip_value(&mut __map)?,
160 }
161 }
162 let __ptr = None;
163 let parent = hkBaseObject { __ptr };
164 let parent = hkReferencedObject {
165 __ptr,
166 parent,
167 ..Default::default()
168 };
169 let __ptr = __A::class_ptr(&mut __map);
170 _serde::__private::Ok(hkResourceBase { __ptr, parent })
171 }
172 }
173 const FIELDS: &[&str] = &[];
174 _serde::Deserializer::deserialize_struct(
175 deserializer,
176 "hkResourceBase",
177 FIELDS,
178 __hkResourceBaseVisitor {
179 marker: _serde::__private::PhantomData::<hkResourceBase>,
180 lifetime: _serde::__private::PhantomData,
181 },
182 )
183 }
184 }
185};
186#[allow(non_upper_case_globals, non_snake_case)]
189#[cfg_attr(feature = "json_schema", derive(schemars::JsonSchema))]
190#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
191#[derive(
192 Debug,
193 Clone,
194 Default,
195 PartialEq,
196 Eq,
197 PartialOrd,
198 Ord,
199 num_derive::ToPrimitive,
200 num_derive::FromPrimitive,
201)]
202pub enum Type {
203 #[default]
204 TYPE_RESOURCE = 0isize,
205 TYPE_CONTAINER = 1isize,
206}
207const _: () = {
208 use havok_serde as __serde;
209 impl __serde::Serialize for Type {
210 fn serialize<S>(&self, __serializer: S) -> Result<S::Ok, S::Error>
211 where
212 S: __serde::ser::Serializer,
213 {
214 let mut __serializer = __serializer.serialize_enum_flags()?;
215 match self {
216 Self::TYPE_RESOURCE => {
217 __serializer.serialize_field("TYPE_RESOURCE", &0u64)
218 }
219 Self::TYPE_CONTAINER => {
220 __serializer.serialize_field("TYPE_CONTAINER", &1u64)
221 }
222 }?;
223 use num_traits::ToPrimitive as _;
224 let num = self.to_u8().ok_or(S::Error::custom("Failed enum Type to_u8"))?;
225 __serializer.serialize_bits(&num)?;
226 __serializer.end()
227 }
228 }
229};
230#[doc(hidden)]
231#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)]
232const _: () = {
233 #[allow(unused_extern_crates, clippy::useless_attribute)]
234 extern crate havok_serde as _serde;
235 #[automatically_derived]
236 impl<'de> _serde::Deserialize<'de> for Type {
237 fn deserialize<__D>(
238 __deserializer: __D,
239 ) -> _serde::__private::Result<Self, __D::Error>
240 where
241 __D: _serde::Deserializer<'de>,
242 {
243 #[allow(non_camel_case_types)]
244 #[doc(hidden)]
245 enum __Field {
246 __field0,
247 __field1,
248 }
249 #[doc(hidden)]
250 struct __FieldVisitor;
251 impl<'de> _serde::de::Visitor<'de> for __FieldVisitor {
252 type Value = __Field;
253 fn expecting(
254 &self,
255 __formatter: &mut _serde::__private::Formatter,
256 ) -> _serde::__private::fmt::Result {
257 _serde::__private::Formatter::write_str(
258 __formatter,
259 "variant identifier",
260 )
261 }
262 fn visit_uint8<__E>(
263 self,
264 __value: u8,
265 ) -> _serde::__private::Result<Self::Value, __E>
266 where
267 __E: _serde::de::Error,
268 {
269 match __value {
270 0u8 => _serde::__private::Ok(__Field::__field0),
271 1u8 => _serde::__private::Ok(__Field::__field1),
272 _ => {
273 _serde::__private::Err(
274 _serde::de::Error::invalid_value(
275 _serde::de::Unexpected::Uint8(__value),
276 &"value(u8) of variant is one of 0, 1",
277 ),
278 )
279 }
280 }
281 }
282 fn visit_stringptr<__E>(
283 self,
284 __value: StringPtr<'de>,
285 ) -> _serde::__private::Result<Self::Value, __E>
286 where
287 __E: _serde::de::Error,
288 {
289 if let Some(__value) = __value.into_inner() {
290 match __value.as_ref() {
291 v if v == "0" || v.eq_ignore_ascii_case("TYPE_RESOURCE") => {
292 _serde::__private::Ok(__Field::__field0)
293 }
294 v if v == "1" || v.eq_ignore_ascii_case("TYPE_CONTAINER") => {
295 _serde::__private::Ok(__Field::__field1)
296 }
297 _ => {
298 _serde::__private::Err(
299 _serde::de::Error::unknown_variant(&__value, VARIANTS),
300 )
301 }
302 }
303 } else {
304 _serde::__private::Err(
305 _serde::de::Error::unknown_variant("None", VARIANTS),
306 )
307 }
308 }
309 }
310 impl<'de> _serde::Deserialize<'de> for __Field {
311 #[inline]
312 fn deserialize<__D>(
313 __deserializer: __D,
314 ) -> _serde::__private::Result<Self, __D::Error>
315 where
316 __D: _serde::Deserializer<'de>,
317 {
318 _serde::Deserializer::deserialize_identifier(
319 __deserializer,
320 _serde::de::ReadEnumSize::Uint8,
321 __FieldVisitor,
322 )
323 }
324 }
325 #[doc(hidden)]
326 struct __Visitor<'de> {
327 marker: _serde::__private::PhantomData<Type>,
328 lifetime: _serde::__private::PhantomData<&'de ()>,
329 }
330 impl<'de> _serde::de::Visitor<'de> for __Visitor<'de> {
331 type Value = Type;
332 fn expecting(
333 &self,
334 __formatter: &mut _serde::__private::Formatter,
335 ) -> _serde::__private::fmt::Result {
336 _serde::__private::Formatter::write_str(__formatter, "enum Type")
337 }
338 fn visit_enum<__A>(
339 self,
340 __data: __A,
341 ) -> _serde::__private::Result<Self::Value, __A::Error>
342 where
343 __A: _serde::de::EnumAccess<'de>,
344 {
345 match _serde::de::EnumAccess::variant(__data)? {
346 (__Field::__field0, __variant) => {
347 _serde::de::VariantAccess::unit_variant(__variant)?;
348 _serde::__private::Ok(Type::TYPE_RESOURCE)
349 }
350 (__Field::__field1, __variant) => {
351 _serde::de::VariantAccess::unit_variant(__variant)?;
352 _serde::__private::Ok(Type::TYPE_CONTAINER)
353 }
354 }
355 }
356 }
357 #[doc(hidden)]
358 const VARIANTS: &'static [&'static str] = &[
359 "TYPE_RESOURCE",
360 "TYPE_CONTAINER",
361 ];
362 _serde::Deserializer::deserialize_enum(
363 __deserializer,
364 "Type",
365 VARIANTS,
366 __Visitor {
367 marker: _serde::__private::PhantomData::<Type>,
368 lifetime: _serde::__private::PhantomData,
369 },
370 )
371 }
372 }
373};