Arma Reforger Explorer
1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Toggle main menu visibility
Loading...
Searching...
No Matches
SCR_GameModeSerializer.c
Go to the documentation of this file.
1
class
SCR_GameModeSerializer
:
ScriptedEntitySerializer
2
{
3
//------------------------------------------------------------------------------------------------
4
override
static
typename
GetTargetType
()
5
{
6
return
SCR_BaseGameMode
;
7
}
8
9
//------------------------------------------------------------------------------------------------
10
override
protected
ESerializeResult
Serialize
(notnull
IEntity
entity, notnull
SaveContext
context)
11
{
12
const
SCR_BaseGameMode
gameMode =
SCR_BaseGameMode
.Cast(entity);
13
const
BaseContainer
source = entity.GetPrefabData().GetPrefab();
14
15
array<EResourceType> defaultDisabled();
16
source.Get(
"m_aDisabledResourceTypes"
, defaultDisabled);
17
18
array<EResourceType> disabledResourceTypes();
19
gameMode.
GetDisabledResourceTypes
(disabledResourceTypes);
20
21
if
(SCR_ArrayHelperT<EResourceType>.
AreEqual
(defaultDisabled, disabledResourceTypes))
22
return
ESerializeResult
.DEFAULT;
23
24
context.WriteValue(
"version"
, 1);
25
context.Write(disabledResourceTypes);
26
return
ESerializeResult
.OK;
27
}
28
29
//------------------------------------------------------------------------------------------------
30
override
protected
bool
Deserialize
(notnull
IEntity
entity, notnull
LoadContext
context)
31
{
32
SCR_BaseGameMode
gameMode =
SCR_BaseGameMode
.Cast(entity);
33
34
int
version;
35
context.Read(version);
36
37
array<EResourceType> disabledResourceTypes;
38
context.Read(disabledResourceTypes);
39
if
(disabledResourceTypes)
40
{
41
// Enable those who are not disabled in save-game
42
array<EResourceType> currentDisabled();
43
gameMode.
GetDisabledResourceTypes
(currentDisabled);
44
foreach
(
EResourceType
type
: currentDisabled)
45
{
46
if
(!disabledResourceTypes.Contains(
type
))
47
gameMode.
SetResourceTypeEnabled
(
true
,
type
);
48
}
49
50
// Disable all from save-game
51
foreach
(
EResourceType
type
: disabledResourceTypes)
52
{
53
gameMode.
SetResourceTypeEnabled
(
false
,
type
);
54
}
55
}
56
57
return
true
;
58
}
59
}
GetTargetType
class SCR_PersistentThreatSector GetTargetType()
Definition
AIControlComponentSerializer.c:12
AreEqual
class SCR_ArrayHelper AreEqual(notnull array< T > array1, notnull array< T > array2)
Definition
SCR_ArrayHelper.c:55
type
EDamageType type
Definition
SCR_DestructibleTreeV2.c:32
EResourceType
EResourceType
Definition
SCR_ResourceContainer.c:2
BaseContainer
Definition
BaseContainer.c:13
IEntity
Definition
IEntity.c:13
LoadContext
Definition
LoadContext.c:17
SCR_BaseGameMode
Definition
SCR_BaseGameMode.c:139
SCR_BaseGameMode::GetDisabledResourceTypes
int GetDisabledResourceTypes(inout notnull array< EResourceType > disabledResourceTypes)
Definition
SCR_BaseGameMode.c:279
SCR_BaseGameMode::SetResourceTypeEnabled
void SetResourceTypeEnabled(bool enable, EResourceType resourceType=EResourceType.SUPPLIES, int playerID=-1)
Definition
SCR_BaseGameMode.c:290
SCR_GameModeSerializer
Definition
SCR_GameModeSerializer.c:2
SCR_GameModeSerializer::Serialize
ESerializeResult Serialize(notnull IEntity entity, notnull SaveContext context)
Definition
SCR_GameModeSerializer.c:10
SCR_GameModeSerializer::Deserialize
bool Deserialize(notnull IEntity entity, notnull LoadContext context)
Definition
SCR_GameModeSerializer.c:30
SaveContext
Definition
SaveContext.c:17
ScriptedEntitySerializer
Definition
ScriptedEntitySerializer.c:13
ESerializeResult
ESerializeResult
Definition
ESerializeResult.c:13
scripts
Game
Plugins
Persistence
System
Serializers
Entities
SCR_GameModeSerializer.c
Generated by
1.17.0