MCPcopy Create free account
hub / github.com/BohemiaInteractive/CWR / CampaignSerialize

Method CampaignSerialize

engine/Poseidon/AI/AICenterStats.cpp:235–280  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

233}
234
235LSError AIStatsCampaign::CampaignSerialize(ParamArchive& ar)
236{
237 PARAM_CHECK(ar.Serialize("PlayerInfo", _playerInfo, 1))
238 ar.SetParams(GWorld->GetGameState());
239 PARAM_CHECK(ar.Serialize("Variables", _variables, 1))
240
241 PARAM_CHECK(ar.Serialize("casualities", _casualties, 1))
242 PARAM_CHECK(ar.Serialize("inCombat", _inCombat, 1))
243
244 PARAM_CHECK(ar.Serialize("score", _score, 1, 0))
245 PARAM_CHECK(ar.Serialize("lastScore", _lastScore, 1, 0))
246
247 PARAM_CHECK(ar.SerializeArray("awards", _awards, 1))
248 PARAM_CHECK(ar.SerializeArray("penalties", _penalties, 1))
249
250 if (ar.GetArVersion() >= 3)
251 {
252 AutoArray<KillsItem> kills;
253 if (ar.IsSaving())
254 {
255 kills.Resize(SKN);
256 for (int i = 0; i < SKN; i++)
257 {
258 kills[i].index = (AIStatsKills)i;
259 kills[i].value = _kills[i];
260 }
261 PARAM_CHECK(ar.Serialize("Kills", kills, 3))
262 }
263 else if (ar.GetPass() == ParamArchive::PassFirst)
264 {
265 PARAM_CHECK(ar.Serialize("Kills", kills, 3))
266 for (int i = 0; i < kills.Size(); i++)
267 {
268 int index = kills[i].index;
269 if (index >= 0 && index < SKN)
270 {
271 _kills[index] = kills[i].value;
272 }
273 }
274 }
275 }
276
277 PARAM_CHECK(ar.Serialize("date", (int&)_date, 1, 0))
278
279 return LSOK;
280}
281void AIStats::OnMPMissionEnd()
282{
283 const bool automationMissionExit = AppConfig::Instance().IsSimulateMode() ||

Callers 1

SerializeMethod · 0.80

Calls 9

GetArVersionMethod · 0.80
GetPassMethod · 0.80
SetParamsMethod · 0.45
SerializeMethod · 0.45
GetGameStateMethod · 0.45
SerializeArrayMethod · 0.45
IsSavingMethod · 0.45
ResizeMethod · 0.45
SizeMethod · 0.45

Tested by

no test coverage detected