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 hkbEvaluateExpressionModifierInternalState {
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 = "internalExpressionsData"))]
35 #[cfg_attr(feature = "serde", serde(rename = "internalExpressionsData"))]
36 pub m_internalExpressionsData: Vec<
37 hkbEvaluateExpressionModifierInternalExpressionData,
38 >,
39}
40const _: () = {
41 use havok_serde as _serde;
42 impl _serde::HavokClass for hkbEvaluateExpressionModifierInternalState {
43 #[inline]
44 fn name(&self) -> &'static str {
45 "hkbEvaluateExpressionModifierInternalState"
46 }
47 #[inline]
48 fn signature(&self) -> _serde::__private::Signature {
49 _serde::__private::Signature::new(0xb414d58e)
50 }
51 #[allow(clippy::let_and_return, clippy::vec_init_then_push)]
52 fn deps_indexes(&self) -> Vec<usize> {
53 let mut v = Vec::new();
54 v.extend(
55 self
56 .m_internalExpressionsData
57 .iter()
58 .flat_map(|class| class.deps_indexes())
59 .collect::<Vec<usize>>(),
60 );
61 v
62 }
63 }
64 impl _serde::Serialize for hkbEvaluateExpressionModifierInternalState {
65 fn serialize<S>(&self, __serializer: S) -> Result<S::Ok, S::Error>
66 where
67 S: _serde::ser::Serializer,
68 {
69 let class_meta = self
70 .__ptr
71 .map(|name| (name, _serde::__private::Signature::new(0xb414d58e)));
72 let mut serializer = __serializer
73 .serialize_struct(
74 "hkbEvaluateExpressionModifierInternalState",
75 class_meta,
76 (20u64, 32u64),
77 )?;
78 serializer.pad_field([0u8; 4usize].as_slice(), [0u8; 8usize].as_slice())?;
79 serializer.skip_field("memSizeAndFlags", &self.parent.m_memSizeAndFlags)?;
80 serializer.skip_field("referenceCount", &self.parent.m_referenceCount)?;
81 serializer.pad_field([0u8; 0usize].as_slice(), [0u8; 4usize].as_slice())?;
82 serializer
83 .serialize_array_field(
84 "internalExpressionsData",
85 &self.m_internalExpressionsData,
86 TypeSize::Struct {
87 size_x86: 2u64,
88 size_x86_64: 2u64,
89 },
90 )?;
91 serializer.end()
92 }
93 }
94};
95#[doc(hidden)]
96#[allow(non_upper_case_globals, unused_attributes, unused_qualifications)]
97const _: () = {
98 use havok_serde as _serde;
99 #[automatically_derived]
100 impl<'de> _serde::Deserialize<'de> for hkbEvaluateExpressionModifierInternalState {
101 fn deserialize<__D>(deserializer: __D) -> core::result::Result<Self, __D::Error>
102 where
103 __D: _serde::Deserializer<'de>,
104 {
105 #[allow(non_camel_case_types)]
106 enum __Field {
107 m_internalExpressionsData,
108 __ignore,
109 }
110 struct __FieldVisitor;
111 impl<'de> _serde::de::Visitor<'de> for __FieldVisitor {
112 type Value = __Field;
113 fn expecting(
114 &self,
115 __formatter: &mut core::fmt::Formatter,
116 ) -> core::fmt::Result {
117 core::fmt::Formatter::write_str(__formatter, "field identifier")
118 }
119 #[allow(clippy::match_single_binding)]
121 #[allow(clippy::reversed_empty_ranges)]
122 #[allow(clippy::single_match)]
123 fn visit_key<__E>(
124 self,
125 __value: &str,
126 ) -> core::result::Result<Self::Value, __E>
127 where
128 __E: _serde::de::Error,
129 {
130 match __value {
131 "internalExpressionsData" => {
132 Ok(__Field::m_internalExpressionsData)
133 }
134 _ => Ok(__Field::__ignore),
135 }
136 }
137 }
138 impl<'de> _serde::Deserialize<'de> for __Field {
139 #[inline]
140 fn deserialize<__D>(
141 __deserializer: __D,
142 ) -> core::result::Result<Self, __D::Error>
143 where
144 __D: _serde::Deserializer<'de>,
145 {
146 _serde::Deserializer::deserialize_key(__deserializer, __FieldVisitor)
147 }
148 }
149 struct __hkbEvaluateExpressionModifierInternalStateVisitor<'de> {
150 marker: _serde::__private::PhantomData<
151 hkbEvaluateExpressionModifierInternalState,
152 >,
153 lifetime: _serde::__private::PhantomData<&'de ()>,
154 }
155 #[allow(clippy::match_single_binding)]
156 #[allow(clippy::reversed_empty_ranges)]
157 #[allow(clippy::single_match)]
158 impl<'de> _serde::de::Visitor<'de>
159 for __hkbEvaluateExpressionModifierInternalStateVisitor<'de> {
160 type Value = hkbEvaluateExpressionModifierInternalState;
161 fn expecting(
162 &self,
163 __formatter: &mut core::fmt::Formatter,
164 ) -> core::fmt::Result {
165 core::fmt::Formatter::write_str(
166 __formatter,
167 "struct hkbEvaluateExpressionModifierInternalState",
168 )
169 }
170 fn visit_struct_for_bytes<__A>(
171 self,
172 mut __map: __A,
173 ) -> _serde::__private::Result<Self::Value, __A::Error>
174 where
175 __A: _serde::de::MapAccess<'de>,
176 {
177 let __ptr = __A::class_ptr(&mut __map);
178 let parent = __A::parent_value(&mut __map)?;
179 let mut m_internalExpressionsData: _serde::__private::Option<
180 Vec<hkbEvaluateExpressionModifierInternalExpressionData>,
181 > = _serde::__private::None;
182 for i in 0..1usize {
183 match i {
184 0usize => {
185 if _serde::__private::Option::is_some(
186 &m_internalExpressionsData,
187 ) {
188 return _serde::__private::Err(
189 <__A::Error as _serde::de::Error>::duplicate_field(
190 "internalExpressionsData",
191 ),
192 );
193 }
194 m_internalExpressionsData = _serde::__private::Some(
195 match __A::next_value::<
196 Vec<hkbEvaluateExpressionModifierInternalExpressionData>,
197 >(&mut __map) {
198 _serde::__private::Ok(__val) => __val,
199 _serde::__private::Err(__err) => {
200 return _serde::__private::Err(__err);
201 }
202 },
203 );
204 }
205 _ => {}
206 }
207 }
208 let m_internalExpressionsData = match m_internalExpressionsData {
209 _serde::__private::Some(__field) => __field,
210 _serde::__private::None => {
211 return _serde::__private::Err(
212 <__A::Error as _serde::de::Error>::missing_field(
213 "internalExpressionsData",
214 ),
215 );
216 }
217 };
218 _serde::__private::Ok(hkbEvaluateExpressionModifierInternalState {
219 __ptr,
220 parent,
221 m_internalExpressionsData,
222 })
223 }
224 #[allow(clippy::manual_unwrap_or_default)]
225 fn visit_struct<__A>(
226 self,
227 mut __map: __A,
228 ) -> _serde::__private::Result<Self::Value, __A::Error>
229 where
230 __A: _serde::de::MapAccess<'de>,
231 {
232 let mut m_internalExpressionsData: _serde::__private::Option<
233 Vec<hkbEvaluateExpressionModifierInternalExpressionData>,
234 > = _serde::__private::None;
235 while let _serde::__private::Some(__key) = {
236 __A::next_key::<__Field>(&mut __map)?
237 } {
238 match __key {
239 __Field::m_internalExpressionsData => {
240 #[cfg(
241 any(feature = "strict", feature = "ignore_duplicates")
242 )]
243 if _serde::__private::Option::is_some(
244 &m_internalExpressionsData,
245 ) {
246 #[cfg(feature = "ignore_duplicates")]
247 {
248 __A::skip_value(&mut __map)?;
249 continue;
250 }
251 #[cfg(feature = "strict")]
252 return _serde::__private::Err(
253 <__A::Error as _serde::de::Error>::duplicate_field(
254 "internalExpressionsData",
255 ),
256 );
257 }
258 m_internalExpressionsData = _serde::__private::Some(
259 match __A::next_value::<
260 Vec<hkbEvaluateExpressionModifierInternalExpressionData>,
261 >(&mut __map) {
262 _serde::__private::Ok(__val) => __val,
263 _serde::__private::Err(__err) => {
264 return _serde::__private::Err(__err);
265 }
266 },
267 );
268 }
269 _ => __A::skip_value(&mut __map)?,
270 }
271 }
272 let m_internalExpressionsData = match m_internalExpressionsData {
273 _serde::__private::Some(__field) => __field,
274 _serde::__private::None => {
275 #[cfg(feature = "strict")]
276 return _serde::__private::Err(
277 <__A::Error as _serde::de::Error>::missing_field(
278 "internalExpressionsData",
279 ),
280 );
281 #[cfg(not(feature = "strict"))] Default::default()
282 }
283 };
284 let __ptr = None;
285 let parent = hkBaseObject { __ptr };
286 let parent = hkReferencedObject {
287 __ptr,
288 parent,
289 ..Default::default()
290 };
291 let __ptr = __A::class_ptr(&mut __map);
292 _serde::__private::Ok(hkbEvaluateExpressionModifierInternalState {
293 __ptr,
294 parent,
295 m_internalExpressionsData,
296 })
297 }
298 }
299 const FIELDS: &[&str] = &["internalExpressionsData"];
300 _serde::Deserializer::deserialize_struct(
301 deserializer,
302 "hkbEvaluateExpressionModifierInternalState",
303 FIELDS,
304 __hkbEvaluateExpressionModifierInternalStateVisitor {
305 marker: _serde::__private::PhantomData::<
306 hkbEvaluateExpressionModifierInternalState,
307 >,
308 lifetime: _serde::__private::PhantomData,
309 },
310 )
311 }
312 }
313};