Arma Reforger Explorer 1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Loading...
Searching...
No Matches
SCR_GameModeHealthSettingsSerializer.c
Go to the documentation of this file.
2{
3 //------------------------------------------------------------------------------------------------
4 override static typename GetTargetType()
5 {
6 return SCR_GameModeHealthSettings;
7 }
8
9 //------------------------------------------------------------------------------------------------
10 override protected ESerializeResult Serialize(notnull IEntity owner, notnull GenericComponent component, notnull SaveContext context)
11 {
12 const SCR_GameModeHealthSettings settings = SCR_GameModeHealthSettings.Cast(component);
13 const BaseContainer source = settings.GetComponentSource(owner);
14
15 const float bleedingScale = settings.GetBleedingScale();
16 float bleedingScaleDefault = 1.0;
17 if (source)
18 source.Get("m_fDOTScale", bleedingScaleDefault);
19
20 const float regenScale = settings.GetRegenScale();
21 float regenScaleDefault = 1.0;
22 if (source)
23 source.Get("m_fRegenScale", regenScaleDefault);
24
25 const bool unconsciousnessPermitted = settings.IsUnconsciousnessPermitted();
26 bool unconsciousnessPermittedDefault = true;
27 if (source)
28 source.Get("m_bPermitUnconsciousness", unconsciousnessPermittedDefault);
29
30 const bool unconsciousnessPermittedVON = settings.IsUnconsciousVONPermitted();
31 bool unconsciousnessPermittedVONDefault = false;
32 if (source)
33 source.Get("m_bPermitUnconsciousVON", unconsciousnessPermittedVONDefault);
34
35 const float tourniquettedLegMovementSlowdow = settings.GetTourniquettedLegMovementSlowdown();
36 float tourniquettedLegMovementSlowdowDefault = 0.75;
37 if (source)
38 source.Get("m_fTourniquettedLegMovementSlowdown", tourniquettedLegMovementSlowdowDefault);
39
40 const float tourniquetStrengthMultiplier = settings.GetTourniquetStrengthMultiplier();
41 float tourniquetStrengthMultiplierDefault = 0.1;
42 if (source)
43 source.Get("m_fTourniquetStrengthMultiplier", tourniquetStrengthMultiplierDefault);
44
45 const float compartmentRegenRateMultiplier = settings.GetCompartmentRegenRateMultiplier();
46 float compartmentRegenRateMultiplierDefault = 1.0;
47 if (source)
48 source.Get("m_fCompartmentRegenerationRateMultiplier", compartmentRegenRateMultiplierDefault);
49
50 const float regenerationDelay = settings.GetRegenerationDelay();
51 float regenerationDelayDefault = 10.0;
52 if (source)
53 source.Get("m_fRegenerationDelay", regenerationDelayDefault);
54
55 const float resilienceHzRegenScale = settings.GetResilienceHzRegenScale();
56 float resilienceHzRegenScaleDefault = 1.0;
57 if (source)
58 source.Get("m_fRegenerationScale", resilienceHzRegenScaleDefault);
59
60 if (bleedingScale == bleedingScaleDefault &&
61 regenScale == regenScaleDefault &&
62 unconsciousnessPermitted == unconsciousnessPermittedDefault &&
63 unconsciousnessPermittedVON == unconsciousnessPermittedVONDefault &&
64 tourniquettedLegMovementSlowdow == tourniquettedLegMovementSlowdowDefault &&
65 tourniquetStrengthMultiplier == tourniquetStrengthMultiplierDefault &&
66 compartmentRegenRateMultiplier == compartmentRegenRateMultiplierDefault &&
67 regenerationDelay == regenerationDelayDefault &&
68 resilienceHzRegenScale == resilienceHzRegenScaleDefault)
69 return ESerializeResult.DEFAULT;
70
71 context.WriteValue("version", 1);
72 context.WriteDefault(bleedingScale, bleedingScaleDefault);
73 context.WriteDefault(regenScale, regenScaleDefault);
74 context.WriteDefault(unconsciousnessPermitted, unconsciousnessPermittedDefault);
75 context.WriteDefault(unconsciousnessPermittedVON, unconsciousnessPermittedVONDefault);
76 context.WriteDefault(tourniquettedLegMovementSlowdow, tourniquettedLegMovementSlowdowDefault);
77 context.WriteDefault(tourniquetStrengthMultiplier, tourniquetStrengthMultiplierDefault);
78 context.WriteDefault(compartmentRegenRateMultiplier, compartmentRegenRateMultiplierDefault);
79 context.WriteDefault(regenerationDelay, regenerationDelayDefault);
80 context.WriteDefault(resilienceHzRegenScale, resilienceHzRegenScaleDefault);
81 return ESerializeResult.OK;
82 }
83
84 //------------------------------------------------------------------------------------------------
85 override protected bool Deserialize(notnull IEntity owner, notnull GenericComponent component, notnull LoadContext context)
86 {
87 SCR_GameModeHealthSettings settings = SCR_GameModeHealthSettings.Cast(component);
88
89 int version;
90 context.Read(version);
91
92 float bleedingScale;
93 if (context.Read(bleedingScale))
94 settings.SetBleedingScale(bleedingScale);
95
96 float regenScale;
97 if (context.Read(regenScale))
98 settings.SetRegenScale(regenScale);
99
100 bool unconsciousnessPermitted;
101 if (context.Read(unconsciousnessPermitted))
102 settings.SetUnconsciousnessPermitted(unconsciousnessPermitted);
103
104 bool unconsciousnessPermittedVON;
105 if (context.Read(unconsciousnessPermittedVON))
106 settings.SetUnconsciousVONPermitted(unconsciousnessPermittedVON);
107
108 float tourniquettedLegMovementSlowdow;
109 if (context.Read(tourniquettedLegMovementSlowdow))
110 settings.SetTourniquettedLegMovementSlowdown(tourniquettedLegMovementSlowdow);
111
112 float tourniquetStrengthMultiplier;
113 if (context.Read(tourniquetStrengthMultiplier))
114 settings.SetTourniquetStrengthMultiplier(tourniquetStrengthMultiplier);
115
116 float compartmentRegenRateMultiplier;
117 if (context.Read(compartmentRegenRateMultiplier))
118 settings.SetCompartmentRegenRateMultiplier(compartmentRegenRateMultiplier);
119
120 float regenerationDelay;
121 if (context.Read(regenerationDelay))
122 settings.SetRegenerationDelay(regenerationDelay);
123
124 float resilienceHzRegenScale;
125 if (context.Read(resilienceHzRegenScale))
126 settings.SetResilienceHzRegenScale(resilienceHzRegenScale);
127
128 return true;
129 }
130}
class SCR_PersistentThreatSector GetTargetType()
bool Deserialize(notnull IEntity owner, notnull GenericComponent component, notnull LoadContext context)
ESerializeResult Serialize(notnull IEntity owner, notnull GenericComponent component, notnull SaveContext context)
ESerializeResult