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 hkbNodeInternalStateInfo<'a> {
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 #[cfg_attr(feature = "json_schema", schemars(rename = "syncInfo"))]
35 #[cfg_attr(feature = "serde", serde(rename = "syncInfo"))]
36 pub m_syncInfo: hkbGeneratorSyncInfo,
37 #[cfg_attr(feature = "serde", serde(borrow))]
42 #[cfg_attr(feature = "json_schema", schemars(rename = "name"))]
43 #[cfg_attr(feature = "serde", serde(rename = "name"))]
44 pub m_name: StringPtr<'a>,
45 #[cfg_attr(feature = "json_schema", schemars(rename = "internalState"))]
50 #[cfg_attr(feature = "serde", serde(rename = "internalState"))]
51 pub m_internalState: Pointer,
52 #[cfg_attr(feature = "json_schema", schemars(rename = "nodeId"))]
57 #[cfg_attr(feature = "serde", serde(rename = "nodeId"))]
58 pub m_nodeId: i16,
59 #[cfg_attr(feature = "json_schema", schemars(rename = "hasActivateBeenCalled"))]
64 #[cfg_attr(feature = "serde", serde(rename = "hasActivateBeenCalled"))]
65 pub m_hasActivateBeenCalled: bool,
66}
67const _: () = {
68 use havok_serde as _serde;
69 impl<'a> _serde::HavokClass for hkbNodeInternalStateInfo<'a> {
70 #[inline]
71 fn name(&self) -> &'static str {
72 "hkbNodeInternalStateInfo"
73 }
74 #[inline]
75 fn signature(&self) -> _serde::__private::Signature {
76 _serde::__private::Signature::new(0x7db9971d)
77 }
78 #[allow(clippy::let_and_return, clippy::vec_init_then_push)]
79 fn deps_indexes(&self) -> Vec<usize> {
80 let mut v = Vec::new();
81 v.extend(self.m_syncInfo.deps_indexes());
82 v.push(self.m_internalState.get());
83 v
84 }
85 }
86 impl<'a> _serde::Serialize for hkbNodeInternalStateInfo<'a> {
87 fn serialize<S>(&self, __serializer: S) -> Result<S::Ok, S::Error>
88 where
89 S: _serde::ser::Serializer,
90 {
91 let class_meta = self
92 .__ptr
93 .map(|name| (name, _serde::__private::Signature::new(0x7db9971d)));
94 let mut serializer = __serializer
95 .serialize_struct(
96 "hkbNodeInternalStateInfo",
97 class_meta,
98 (100u64, 120u64),
99 )?;
100 serializer.pad_field([0u8; 4usize].as_slice(), [0u8; 8usize].as_slice())?;
101 serializer.skip_field("memSizeAndFlags", &self.parent.m_memSizeAndFlags)?;
102 serializer.skip_field("referenceCount", &self.parent.m_referenceCount)?;
103 serializer.pad_field([0u8; 0usize].as_slice(), [0u8; 4usize].as_slice())?;
104 serializer.serialize_field("syncInfo", &self.m_syncInfo)?;
105 serializer.serialize_field("name", &self.m_name)?;
106 serializer.serialize_field("internalState", &self.m_internalState)?;
107 serializer.serialize_field("nodeId", &self.m_nodeId)?;
108 serializer
109 .serialize_field(
110 "hasActivateBeenCalled",
111 &self.m_hasActivateBeenCalled,
112 )?;
113 serializer.pad_field([0u8; 1usize].as_slice(), [0u8; 5usize].as_slice())?;
114 serializer.end()
115 }
116 }
117};
118#[doc(hidden)]
119#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)]
120const _: () = {
121 use havok_serde as _serde;
122 #[automatically_derived]
123 impl<'de> _serde::Deserialize<'de> for hkbNodeInternalStateInfo<'de> {
124 fn deserialize<__D>(deserializer: __D) -> core::result::Result<Self, __D::Error>
125 where
126 __D: _serde::Deserializer<'de>,
127 {
128 #[allow(non_camel_case_types)]
129 enum __Field {
130 m_syncInfo,
131 m_name,
132 m_internalState,
133 m_nodeId,
134 m_hasActivateBeenCalled,
135 __ignore,
136 }
137 struct __FieldVisitor;
138 impl<'de> _serde::de::Visitor<'de> for __FieldVisitor {
139 type Value = __Field;
140 fn expecting(
141 &self,
142 __formatter: &mut core::fmt::Formatter,
143 ) -> core::fmt::Result {
144 core::fmt::Formatter::write_str(__formatter, "field identifier")
145 }
146 #[allow(clippy::match_single_binding)]
148 #[allow(clippy::reversed_empty_ranges)]
149 #[allow(clippy::single_match)]
150 fn visit_key<__E>(
151 self,
152 __value: &str,
153 ) -> core::result::Result<Self::Value, __E>
154 where
155 __E: _serde::de::Error,
156 {
157 match __value {
158 "syncInfo" => Ok(__Field::m_syncInfo),
159 "name" => Ok(__Field::m_name),
160 "internalState" => Ok(__Field::m_internalState),
161 "nodeId" => Ok(__Field::m_nodeId),
162 "hasActivateBeenCalled" => Ok(__Field::m_hasActivateBeenCalled),
163 _ => Ok(__Field::__ignore),
164 }
165 }
166 }
167 impl<'de> _serde::Deserialize<'de> for __Field {
168 #[inline]
169 fn deserialize<__D>(
170 __deserializer: __D,
171 ) -> core::result::Result<Self, __D::Error>
172 where
173 __D: _serde::Deserializer<'de>,
174 {
175 _serde::Deserializer::deserialize_key(__deserializer, __FieldVisitor)
176 }
177 }
178 struct __hkbNodeInternalStateInfoVisitor<'de> {
179 marker: _serde::__private::PhantomData<hkbNodeInternalStateInfo<'de>>,
180 lifetime: _serde::__private::PhantomData<&'de ()>,
181 }
182 #[allow(clippy::match_single_binding)]
183 #[allow(clippy::reversed_empty_ranges)]
184 #[allow(clippy::single_match)]
185 impl<'de> _serde::de::Visitor<'de>
186 for __hkbNodeInternalStateInfoVisitor<'de> {
187 type Value = hkbNodeInternalStateInfo<'de>;
188 fn expecting(
189 &self,
190 __formatter: &mut core::fmt::Formatter,
191 ) -> core::fmt::Result {
192 core::fmt::Formatter::write_str(
193 __formatter,
194 "struct hkbNodeInternalStateInfo",
195 )
196 }
197 fn visit_struct_for_bytes<__A>(
198 self,
199 mut __map: __A,
200 ) -> _serde::__private::Result<Self::Value, __A::Error>
201 where
202 __A: _serde::de::MapAccess<'de>,
203 {
204 let __ptr = __A::class_ptr(&mut __map);
205 let parent = __A::parent_value(&mut __map)?;
206 let mut m_syncInfo: _serde::__private::Option<
207 hkbGeneratorSyncInfo,
208 > = _serde::__private::None;
209 let mut m_name: _serde::__private::Option<StringPtr<'de>> = _serde::__private::None;
210 let mut m_internalState: _serde::__private::Option<Pointer> = _serde::__private::None;
211 let mut m_nodeId: _serde::__private::Option<i16> = _serde::__private::None;
212 let mut m_hasActivateBeenCalled: _serde::__private::Option<bool> = _serde::__private::None;
213 for i in 0..5usize {
214 match i {
215 0usize => {
216 if _serde::__private::Option::is_some(&m_syncInfo) {
217 return _serde::__private::Err(
218 <__A::Error as _serde::de::Error>::duplicate_field(
219 "syncInfo",
220 ),
221 );
222 }
223 m_syncInfo = _serde::__private::Some(
224 match __A::next_value::<hkbGeneratorSyncInfo>(&mut __map) {
225 _serde::__private::Ok(__val) => __val,
226 _serde::__private::Err(__err) => {
227 return _serde::__private::Err(__err);
228 }
229 },
230 );
231 }
232 1usize => {
233 if _serde::__private::Option::is_some(&m_name) {
234 return _serde::__private::Err(
235 <__A::Error as _serde::de::Error>::duplicate_field("name"),
236 );
237 }
238 m_name = _serde::__private::Some(
239 match __A::next_value::<StringPtr<'de>>(&mut __map) {
240 _serde::__private::Ok(__val) => __val,
241 _serde::__private::Err(__err) => {
242 return _serde::__private::Err(__err);
243 }
244 },
245 );
246 }
247 2usize => {
248 if _serde::__private::Option::is_some(&m_internalState) {
249 return _serde::__private::Err(
250 <__A::Error as _serde::de::Error>::duplicate_field(
251 "internalState",
252 ),
253 );
254 }
255 m_internalState = _serde::__private::Some(
256 match __A::next_value::<Pointer>(&mut __map) {
257 _serde::__private::Ok(__val) => __val,
258 _serde::__private::Err(__err) => {
259 return _serde::__private::Err(__err);
260 }
261 },
262 );
263 }
264 3usize => {
265 if _serde::__private::Option::is_some(&m_nodeId) {
266 return _serde::__private::Err(
267 <__A::Error as _serde::de::Error>::duplicate_field("nodeId"),
268 );
269 }
270 m_nodeId = _serde::__private::Some(
271 match __A::next_value::<i16>(&mut __map) {
272 _serde::__private::Ok(__val) => __val,
273 _serde::__private::Err(__err) => {
274 return _serde::__private::Err(__err);
275 }
276 },
277 );
278 }
279 4usize => {
280 if _serde::__private::Option::is_some(
281 &m_hasActivateBeenCalled,
282 ) {
283 return _serde::__private::Err(
284 <__A::Error as _serde::de::Error>::duplicate_field(
285 "hasActivateBeenCalled",
286 ),
287 );
288 }
289 m_hasActivateBeenCalled = _serde::__private::Some(
290 match __A::next_value::<bool>(&mut __map) {
291 _serde::__private::Ok(__val) => __val,
292 _serde::__private::Err(__err) => {
293 return _serde::__private::Err(__err);
294 }
295 },
296 );
297 }
298 _ => {}
299 }
300 }
301 __A::pad(&mut __map, 1usize, 5usize)?;
302 let m_syncInfo = match m_syncInfo {
303 _serde::__private::Some(__field) => __field,
304 _serde::__private::None => {
305 return _serde::__private::Err(
306 <__A::Error as _serde::de::Error>::missing_field("syncInfo"),
307 );
308 }
309 };
310 let m_name = match m_name {
311 _serde::__private::Some(__field) => __field,
312 _serde::__private::None => {
313 return _serde::__private::Err(
314 <__A::Error as _serde::de::Error>::missing_field("name"),
315 );
316 }
317 };
318 let m_internalState = match m_internalState {
319 _serde::__private::Some(__field) => __field,
320 _serde::__private::None => {
321 return _serde::__private::Err(
322 <__A::Error as _serde::de::Error>::missing_field(
323 "internalState",
324 ),
325 );
326 }
327 };
328 let m_nodeId = match m_nodeId {
329 _serde::__private::Some(__field) => __field,
330 _serde::__private::None => {
331 return _serde::__private::Err(
332 <__A::Error as _serde::de::Error>::missing_field("nodeId"),
333 );
334 }
335 };
336 let m_hasActivateBeenCalled = match m_hasActivateBeenCalled {
337 _serde::__private::Some(__field) => __field,
338 _serde::__private::None => {
339 return _serde::__private::Err(
340 <__A::Error as _serde::de::Error>::missing_field(
341 "hasActivateBeenCalled",
342 ),
343 );
344 }
345 };
346 _serde::__private::Ok(hkbNodeInternalStateInfo {
347 __ptr,
348 parent,
349 m_syncInfo,
350 m_name,
351 m_internalState,
352 m_nodeId,
353 m_hasActivateBeenCalled,
354 })
355 }
356 #[allow(clippy::manual_unwrap_or_default)]
357 fn visit_struct<__A>(
358 self,
359 mut __map: __A,
360 ) -> _serde::__private::Result<Self::Value, __A::Error>
361 where
362 __A: _serde::de::MapAccess<'de>,
363 {
364 let mut m_syncInfo: _serde::__private::Option<
365 hkbGeneratorSyncInfo,
366 > = _serde::__private::None;
367 let mut m_name: _serde::__private::Option<StringPtr<'de>> = _serde::__private::None;
368 let mut m_internalState: _serde::__private::Option<Pointer> = _serde::__private::None;
369 let mut m_nodeId: _serde::__private::Option<i16> = _serde::__private::None;
370 let mut m_hasActivateBeenCalled: _serde::__private::Option<bool> = _serde::__private::None;
371 while let _serde::__private::Some(__key) = {
372 __A::next_key::<__Field>(&mut __map)?
373 } {
374 match __key {
375 __Field::m_syncInfo => {
376 #[cfg(
377 any(feature = "strict", feature = "ignore_duplicates")
378 )]
379 if _serde::__private::Option::is_some(&m_syncInfo) {
380 #[cfg(feature = "ignore_duplicates")]
381 {
382 __A::skip_value(&mut __map)?;
383 continue;
384 }
385 #[cfg(feature = "strict")]
386 return _serde::__private::Err(
387 <__A::Error as _serde::de::Error>::duplicate_field(
388 "syncInfo",
389 ),
390 );
391 }
392 m_syncInfo = _serde::__private::Some(
393 match __A::next_value::<hkbGeneratorSyncInfo>(&mut __map) {
394 _serde::__private::Ok(__val) => __val,
395 _serde::__private::Err(__err) => {
396 return _serde::__private::Err(__err);
397 }
398 },
399 );
400 }
401 __Field::m_name => {
402 #[cfg(
403 any(feature = "strict", feature = "ignore_duplicates")
404 )]
405 if _serde::__private::Option::is_some(&m_name) {
406 #[cfg(feature = "ignore_duplicates")]
407 {
408 __A::skip_value(&mut __map)?;
409 continue;
410 }
411 #[cfg(feature = "strict")]
412 return _serde::__private::Err(
413 <__A::Error as _serde::de::Error>::duplicate_field("name"),
414 );
415 }
416 m_name = _serde::__private::Some(
417 match __A::next_value::<StringPtr<'de>>(&mut __map) {
418 _serde::__private::Ok(__val) => __val,
419 _serde::__private::Err(__err) => {
420 return _serde::__private::Err(__err);
421 }
422 },
423 );
424 }
425 __Field::m_internalState => {
426 #[cfg(
427 any(feature = "strict", feature = "ignore_duplicates")
428 )]
429 if _serde::__private::Option::is_some(&m_internalState) {
430 #[cfg(feature = "ignore_duplicates")]
431 {
432 __A::skip_value(&mut __map)?;
433 continue;
434 }
435 #[cfg(feature = "strict")]
436 return _serde::__private::Err(
437 <__A::Error as _serde::de::Error>::duplicate_field(
438 "internalState",
439 ),
440 );
441 }
442 m_internalState = _serde::__private::Some(
443 match __A::next_value::<Pointer>(&mut __map) {
444 _serde::__private::Ok(__val) => __val,
445 _serde::__private::Err(__err) => {
446 return _serde::__private::Err(__err);
447 }
448 },
449 );
450 }
451 __Field::m_nodeId => {
452 #[cfg(
453 any(feature = "strict", feature = "ignore_duplicates")
454 )]
455 if _serde::__private::Option::is_some(&m_nodeId) {
456 #[cfg(feature = "ignore_duplicates")]
457 {
458 __A::skip_value(&mut __map)?;
459 continue;
460 }
461 #[cfg(feature = "strict")]
462 return _serde::__private::Err(
463 <__A::Error as _serde::de::Error>::duplicate_field("nodeId"),
464 );
465 }
466 m_nodeId = _serde::__private::Some(
467 match __A::next_value::<i16>(&mut __map) {
468 _serde::__private::Ok(__val) => __val,
469 _serde::__private::Err(__err) => {
470 return _serde::__private::Err(__err);
471 }
472 },
473 );
474 }
475 __Field::m_hasActivateBeenCalled => {
476 #[cfg(
477 any(feature = "strict", feature = "ignore_duplicates")
478 )]
479 if _serde::__private::Option::is_some(
480 &m_hasActivateBeenCalled,
481 ) {
482 #[cfg(feature = "ignore_duplicates")]
483 {
484 __A::skip_value(&mut __map)?;
485 continue;
486 }
487 #[cfg(feature = "strict")]
488 return _serde::__private::Err(
489 <__A::Error as _serde::de::Error>::duplicate_field(
490 "hasActivateBeenCalled",
491 ),
492 );
493 }
494 m_hasActivateBeenCalled = _serde::__private::Some(
495 match __A::next_value::<bool>(&mut __map) {
496 _serde::__private::Ok(__val) => __val,
497 _serde::__private::Err(__err) => {
498 return _serde::__private::Err(__err);
499 }
500 },
501 );
502 }
503 _ => __A::skip_value(&mut __map)?,
504 }
505 }
506 let m_syncInfo = match m_syncInfo {
507 _serde::__private::Some(__field) => __field,
508 _serde::__private::None => {
509 #[cfg(feature = "strict")]
510 return _serde::__private::Err(
511 <__A::Error as _serde::de::Error>::missing_field("syncInfo"),
512 );
513 #[cfg(not(feature = "strict"))] Default::default()
514 }
515 };
516 let m_name = match m_name {
517 _serde::__private::Some(__field) => __field,
518 _serde::__private::None => {
519 #[cfg(feature = "strict")]
520 return _serde::__private::Err(
521 <__A::Error as _serde::de::Error>::missing_field("name"),
522 );
523 #[cfg(not(feature = "strict"))] Default::default()
524 }
525 };
526 let m_internalState = match m_internalState {
527 _serde::__private::Some(__field) => __field,
528 _serde::__private::None => {
529 #[cfg(feature = "strict")]
530 return _serde::__private::Err(
531 <__A::Error as _serde::de::Error>::missing_field(
532 "internalState",
533 ),
534 );
535 #[cfg(not(feature = "strict"))] Default::default()
536 }
537 };
538 let m_nodeId = match m_nodeId {
539 _serde::__private::Some(__field) => __field,
540 _serde::__private::None => {
541 #[cfg(feature = "strict")]
542 return _serde::__private::Err(
543 <__A::Error as _serde::de::Error>::missing_field("nodeId"),
544 );
545 #[cfg(not(feature = "strict"))] Default::default()
546 }
547 };
548 let m_hasActivateBeenCalled = match m_hasActivateBeenCalled {
549 _serde::__private::Some(__field) => __field,
550 _serde::__private::None => {
551 #[cfg(feature = "strict")]
552 return _serde::__private::Err(
553 <__A::Error as _serde::de::Error>::missing_field(
554 "hasActivateBeenCalled",
555 ),
556 );
557 #[cfg(not(feature = "strict"))] Default::default()
558 }
559 };
560 let __ptr = None;
561 let parent = hkBaseObject { __ptr };
562 let parent = hkReferencedObject {
563 __ptr,
564 parent,
565 ..Default::default()
566 };
567 let __ptr = __A::class_ptr(&mut __map);
568 _serde::__private::Ok(hkbNodeInternalStateInfo {
569 __ptr,
570 parent,
571 m_syncInfo,
572 m_name,
573 m_internalState,
574 m_nodeId,
575 m_hasActivateBeenCalled,
576 })
577 }
578 }
579 const FIELDS: &[&str] = &[
580 "syncInfo",
581 "name",
582 "internalState",
583 "nodeId",
584 "hasActivateBeenCalled",
585 ];
586 _serde::Deserializer::deserialize_struct(
587 deserializer,
588 "hkbNodeInternalStateInfo",
589 FIELDS,
590 __hkbNodeInternalStateInfoVisitor {
591 marker: _serde::__private::PhantomData::<hkbNodeInternalStateInfo>,
592 lifetime: _serde::__private::PhantomData,
593 },
594 )
595 }
596 }
597};