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 hkbStateMachineTimeInterval {
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(rename = "enterEventId"))]
31 #[cfg_attr(feature = "serde", serde(rename = "enterEventId"))]
32 pub m_enterEventId: i32,
33 #[cfg_attr(feature = "json_schema", schemars(rename = "exitEventId"))]
38 #[cfg_attr(feature = "serde", serde(rename = "exitEventId"))]
39 pub m_exitEventId: i32,
40 #[cfg_attr(feature = "json_schema", schemars(rename = "enterTime"))]
45 #[cfg_attr(feature = "serde", serde(rename = "enterTime"))]
46 pub m_enterTime: f32,
47 #[cfg_attr(feature = "json_schema", schemars(rename = "exitTime"))]
52 #[cfg_attr(feature = "serde", serde(rename = "exitTime"))]
53 pub m_exitTime: f32,
54}
55const _: () = {
56 use havok_serde as _serde;
57 impl _serde::HavokClass for hkbStateMachineTimeInterval {
58 #[inline]
59 fn name(&self) -> &'static str {
60 "hkbStateMachineTimeInterval"
61 }
62 #[inline]
63 fn signature(&self) -> _serde::__private::Signature {
64 _serde::__private::Signature::new(0x60a881e5)
65 }
66 #[allow(clippy::let_and_return, clippy::vec_init_then_push)]
67 fn deps_indexes(&self) -> Vec<usize> {
68 let mut v = Vec::new();
69 v
70 }
71 }
72 impl _serde::Serialize for hkbStateMachineTimeInterval {
73 fn serialize<S>(&self, __serializer: S) -> Result<S::Ok, S::Error>
74 where
75 S: _serde::ser::Serializer,
76 {
77 let class_meta = self
78 .__ptr
79 .map(|name| (name, _serde::__private::Signature::new(0x60a881e5)));
80 let mut serializer = __serializer
81 .serialize_struct(
82 "hkbStateMachineTimeInterval",
83 class_meta,
84 (16u64, 16u64),
85 )?;
86 serializer.serialize_field("enterEventId", &self.m_enterEventId)?;
87 serializer.serialize_field("exitEventId", &self.m_exitEventId)?;
88 serializer.serialize_field("enterTime", &self.m_enterTime)?;
89 serializer.serialize_field("exitTime", &self.m_exitTime)?;
90 serializer.end()
91 }
92 }
93};
94#[doc(hidden)]
95#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)]
96const _: () = {
97 use havok_serde as _serde;
98 #[automatically_derived]
99 impl<'de> _serde::Deserialize<'de> for hkbStateMachineTimeInterval {
100 fn deserialize<__D>(deserializer: __D) -> core::result::Result<Self, __D::Error>
101 where
102 __D: _serde::Deserializer<'de>,
103 {
104 #[allow(non_camel_case_types)]
105 enum __Field {
106 m_enterEventId,
107 m_exitEventId,
108 m_enterTime,
109 m_exitTime,
110 __ignore,
111 }
112 struct __FieldVisitor;
113 impl<'de> _serde::de::Visitor<'de> for __FieldVisitor {
114 type Value = __Field;
115 fn expecting(
116 &self,
117 __formatter: &mut core::fmt::Formatter,
118 ) -> core::fmt::Result {
119 core::fmt::Formatter::write_str(__formatter, "field identifier")
120 }
121 #[allow(clippy::match_single_binding)]
123 #[allow(clippy::reversed_empty_ranges)]
124 #[allow(clippy::single_match)]
125 fn visit_key<__E>(
126 self,
127 __value: &str,
128 ) -> core::result::Result<Self::Value, __E>
129 where
130 __E: _serde::de::Error,
131 {
132 match __value {
133 "enterEventId" => Ok(__Field::m_enterEventId),
134 "exitEventId" => Ok(__Field::m_exitEventId),
135 "enterTime" => Ok(__Field::m_enterTime),
136 "exitTime" => Ok(__Field::m_exitTime),
137 _ => Ok(__Field::__ignore),
138 }
139 }
140 }
141 impl<'de> _serde::Deserialize<'de> for __Field {
142 #[inline]
143 fn deserialize<__D>(
144 __deserializer: __D,
145 ) -> core::result::Result<Self, __D::Error>
146 where
147 __D: _serde::Deserializer<'de>,
148 {
149 _serde::Deserializer::deserialize_key(__deserializer, __FieldVisitor)
150 }
151 }
152 struct __hkbStateMachineTimeIntervalVisitor<'de> {
153 marker: _serde::__private::PhantomData<hkbStateMachineTimeInterval>,
154 lifetime: _serde::__private::PhantomData<&'de ()>,
155 }
156 #[allow(clippy::match_single_binding)]
157 #[allow(clippy::reversed_empty_ranges)]
158 #[allow(clippy::single_match)]
159 impl<'de> _serde::de::Visitor<'de>
160 for __hkbStateMachineTimeIntervalVisitor<'de> {
161 type Value = hkbStateMachineTimeInterval;
162 fn expecting(
163 &self,
164 __formatter: &mut core::fmt::Formatter,
165 ) -> core::fmt::Result {
166 core::fmt::Formatter::write_str(
167 __formatter,
168 "struct hkbStateMachineTimeInterval",
169 )
170 }
171 fn visit_struct_for_bytes<__A>(
172 self,
173 mut __map: __A,
174 ) -> _serde::__private::Result<Self::Value, __A::Error>
175 where
176 __A: _serde::de::MapAccess<'de>,
177 {
178 let __ptr = __A::class_ptr(&mut __map);
179 let mut m_enterEventId: _serde::__private::Option<i32> = _serde::__private::None;
180 let mut m_exitEventId: _serde::__private::Option<i32> = _serde::__private::None;
181 let mut m_enterTime: _serde::__private::Option<f32> = _serde::__private::None;
182 let mut m_exitTime: _serde::__private::Option<f32> = _serde::__private::None;
183 for i in 0..4usize {
184 match i {
185 0usize => {
186 if _serde::__private::Option::is_some(&m_enterEventId) {
187 return _serde::__private::Err(
188 <__A::Error as _serde::de::Error>::duplicate_field(
189 "enterEventId",
190 ),
191 );
192 }
193 m_enterEventId = _serde::__private::Some(
194 match __A::next_value::<i32>(&mut __map) {
195 _serde::__private::Ok(__val) => __val,
196 _serde::__private::Err(__err) => {
197 return _serde::__private::Err(__err);
198 }
199 },
200 );
201 }
202 1usize => {
203 if _serde::__private::Option::is_some(&m_exitEventId) {
204 return _serde::__private::Err(
205 <__A::Error as _serde::de::Error>::duplicate_field(
206 "exitEventId",
207 ),
208 );
209 }
210 m_exitEventId = _serde::__private::Some(
211 match __A::next_value::<i32>(&mut __map) {
212 _serde::__private::Ok(__val) => __val,
213 _serde::__private::Err(__err) => {
214 return _serde::__private::Err(__err);
215 }
216 },
217 );
218 }
219 2usize => {
220 if _serde::__private::Option::is_some(&m_enterTime) {
221 return _serde::__private::Err(
222 <__A::Error as _serde::de::Error>::duplicate_field(
223 "enterTime",
224 ),
225 );
226 }
227 m_enterTime = _serde::__private::Some(
228 match __A::next_value::<f32>(&mut __map) {
229 _serde::__private::Ok(__val) => __val,
230 _serde::__private::Err(__err) => {
231 return _serde::__private::Err(__err);
232 }
233 },
234 );
235 }
236 3usize => {
237 if _serde::__private::Option::is_some(&m_exitTime) {
238 return _serde::__private::Err(
239 <__A::Error as _serde::de::Error>::duplicate_field(
240 "exitTime",
241 ),
242 );
243 }
244 m_exitTime = _serde::__private::Some(
245 match __A::next_value::<f32>(&mut __map) {
246 _serde::__private::Ok(__val) => __val,
247 _serde::__private::Err(__err) => {
248 return _serde::__private::Err(__err);
249 }
250 },
251 );
252 }
253 _ => {}
254 }
255 }
256 let m_enterEventId = match m_enterEventId {
257 _serde::__private::Some(__field) => __field,
258 _serde::__private::None => {
259 return _serde::__private::Err(
260 <__A::Error as _serde::de::Error>::missing_field(
261 "enterEventId",
262 ),
263 );
264 }
265 };
266 let m_exitEventId = match m_exitEventId {
267 _serde::__private::Some(__field) => __field,
268 _serde::__private::None => {
269 return _serde::__private::Err(
270 <__A::Error as _serde::de::Error>::missing_field(
271 "exitEventId",
272 ),
273 );
274 }
275 };
276 let m_enterTime = match m_enterTime {
277 _serde::__private::Some(__field) => __field,
278 _serde::__private::None => {
279 return _serde::__private::Err(
280 <__A::Error as _serde::de::Error>::missing_field(
281 "enterTime",
282 ),
283 );
284 }
285 };
286 let m_exitTime = match m_exitTime {
287 _serde::__private::Some(__field) => __field,
288 _serde::__private::None => {
289 return _serde::__private::Err(
290 <__A::Error as _serde::de::Error>::missing_field("exitTime"),
291 );
292 }
293 };
294 _serde::__private::Ok(hkbStateMachineTimeInterval {
295 __ptr,
296 m_enterEventId,
297 m_exitEventId,
298 m_enterTime,
299 m_exitTime,
300 })
301 }
302 #[allow(clippy::manual_unwrap_or_default)]
303 fn visit_struct<__A>(
304 self,
305 mut __map: __A,
306 ) -> _serde::__private::Result<Self::Value, __A::Error>
307 where
308 __A: _serde::de::MapAccess<'de>,
309 {
310 let mut m_enterEventId: _serde::__private::Option<i32> = _serde::__private::None;
311 let mut m_exitEventId: _serde::__private::Option<i32> = _serde::__private::None;
312 let mut m_enterTime: _serde::__private::Option<f32> = _serde::__private::None;
313 let mut m_exitTime: _serde::__private::Option<f32> = _serde::__private::None;
314 while let _serde::__private::Some(__key) = {
315 __A::next_key::<__Field>(&mut __map)?
316 } {
317 match __key {
318 __Field::m_enterEventId => {
319 #[cfg(
320 any(feature = "strict", feature = "ignore_duplicates")
321 )]
322 if _serde::__private::Option::is_some(&m_enterEventId) {
323 #[cfg(feature = "ignore_duplicates")]
324 {
325 __A::skip_value(&mut __map)?;
326 continue;
327 }
328 #[cfg(feature = "strict")]
329 return _serde::__private::Err(
330 <__A::Error as _serde::de::Error>::duplicate_field(
331 "enterEventId",
332 ),
333 );
334 }
335 m_enterEventId = _serde::__private::Some(
336 match __A::next_value::<i32>(&mut __map) {
337 _serde::__private::Ok(__val) => __val,
338 _serde::__private::Err(__err) => {
339 return _serde::__private::Err(__err);
340 }
341 },
342 );
343 }
344 __Field::m_exitEventId => {
345 #[cfg(
346 any(feature = "strict", feature = "ignore_duplicates")
347 )]
348 if _serde::__private::Option::is_some(&m_exitEventId) {
349 #[cfg(feature = "ignore_duplicates")]
350 {
351 __A::skip_value(&mut __map)?;
352 continue;
353 }
354 #[cfg(feature = "strict")]
355 return _serde::__private::Err(
356 <__A::Error as _serde::de::Error>::duplicate_field(
357 "exitEventId",
358 ),
359 );
360 }
361 m_exitEventId = _serde::__private::Some(
362 match __A::next_value::<i32>(&mut __map) {
363 _serde::__private::Ok(__val) => __val,
364 _serde::__private::Err(__err) => {
365 return _serde::__private::Err(__err);
366 }
367 },
368 );
369 }
370 __Field::m_enterTime => {
371 #[cfg(
372 any(feature = "strict", feature = "ignore_duplicates")
373 )]
374 if _serde::__private::Option::is_some(&m_enterTime) {
375 #[cfg(feature = "ignore_duplicates")]
376 {
377 __A::skip_value(&mut __map)?;
378 continue;
379 }
380 #[cfg(feature = "strict")]
381 return _serde::__private::Err(
382 <__A::Error as _serde::de::Error>::duplicate_field(
383 "enterTime",
384 ),
385 );
386 }
387 m_enterTime = _serde::__private::Some(
388 match __A::next_value::<f32>(&mut __map) {
389 _serde::__private::Ok(__val) => __val,
390 _serde::__private::Err(__err) => {
391 return _serde::__private::Err(__err);
392 }
393 },
394 );
395 }
396 __Field::m_exitTime => {
397 #[cfg(
398 any(feature = "strict", feature = "ignore_duplicates")
399 )]
400 if _serde::__private::Option::is_some(&m_exitTime) {
401 #[cfg(feature = "ignore_duplicates")]
402 {
403 __A::skip_value(&mut __map)?;
404 continue;
405 }
406 #[cfg(feature = "strict")]
407 return _serde::__private::Err(
408 <__A::Error as _serde::de::Error>::duplicate_field(
409 "exitTime",
410 ),
411 );
412 }
413 m_exitTime = _serde::__private::Some(
414 match __A::next_value::<f32>(&mut __map) {
415 _serde::__private::Ok(__val) => __val,
416 _serde::__private::Err(__err) => {
417 return _serde::__private::Err(__err);
418 }
419 },
420 );
421 }
422 _ => __A::skip_value(&mut __map)?,
423 }
424 }
425 let m_enterEventId = match m_enterEventId {
426 _serde::__private::Some(__field) => __field,
427 _serde::__private::None => {
428 #[cfg(feature = "strict")]
429 return _serde::__private::Err(
430 <__A::Error as _serde::de::Error>::missing_field(
431 "enterEventId",
432 ),
433 );
434 #[cfg(not(feature = "strict"))] Default::default()
435 }
436 };
437 let m_exitEventId = match m_exitEventId {
438 _serde::__private::Some(__field) => __field,
439 _serde::__private::None => {
440 #[cfg(feature = "strict")]
441 return _serde::__private::Err(
442 <__A::Error as _serde::de::Error>::missing_field(
443 "exitEventId",
444 ),
445 );
446 #[cfg(not(feature = "strict"))] Default::default()
447 }
448 };
449 let m_enterTime = match m_enterTime {
450 _serde::__private::Some(__field) => __field,
451 _serde::__private::None => {
452 #[cfg(feature = "strict")]
453 return _serde::__private::Err(
454 <__A::Error as _serde::de::Error>::missing_field(
455 "enterTime",
456 ),
457 );
458 #[cfg(not(feature = "strict"))] Default::default()
459 }
460 };
461 let m_exitTime = match m_exitTime {
462 _serde::__private::Some(__field) => __field,
463 _serde::__private::None => {
464 #[cfg(feature = "strict")]
465 return _serde::__private::Err(
466 <__A::Error as _serde::de::Error>::missing_field("exitTime"),
467 );
468 #[cfg(not(feature = "strict"))] Default::default()
469 }
470 };
471 let __ptr = __A::class_ptr(&mut __map);
472 _serde::__private::Ok(hkbStateMachineTimeInterval {
473 __ptr,
474 m_enterEventId,
475 m_exitEventId,
476 m_enterTime,
477 m_exitTime,
478 })
479 }
480 }
481 const FIELDS: &[&str] = &[
482 "enterEventId",
483 "exitEventId",
484 "enterTime",
485 "exitTime",
486 ];
487 _serde::Deserializer::deserialize_struct(
488 deserializer,
489 "hkbStateMachineTimeInterval",
490 FIELDS,
491 __hkbStateMachineTimeIntervalVisitor {
492 marker: _serde::__private::PhantomData::<
493 hkbStateMachineTimeInterval,
494 >,
495 lifetime: _serde::__private::PhantomData,
496 },
497 )
498 }
499 }
500};