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_CampaignMilitaryBaseComponentSerializer.c
Go to the documentation of this file.
1
class
SCR_CampaignMilitaryBaseComponentSerializer
:
ScriptedComponentSerializer
2
{
3
//------------------------------------------------------------------------------------------------
4
override
static
typename
GetTargetType
()
5
{
6
return
SCR_CampaignMilitaryBaseComponent
;
7
}
8
9
//------------------------------------------------------------------------------------------------
10
override
protected
ESerializeResult
Serialize
(notnull
IEntity
owner, notnull
GenericComponent
component, notnull
SaveContext
context)
11
{
12
const
SCR_CampaignMilitaryBaseComponent
militaryBase =
SCR_CampaignMilitaryBaseComponent
.Cast(component);
13
14
const
bool
isHQ = militaryBase.
IsHQ
();
15
const
UUID
buildingId = GetSystem().GetId(militaryBase.
GetBaseBuildingComposition
());
16
const
int
callsign = militaryBase.GetCallsign();
17
const
bool
builtByPlayers = militaryBase.
GetBuiltByPlayers
();
18
const
FactionKey
builtFaction = militaryBase.
GetBuiltFaction
();
19
20
if
(!isHQ && buildingId.IsNull() && callsign == SCR_MilitaryBaseComponent.INVALID_BASE_CALLSIGN && !builtByPlayers && builtFaction.IsEmpty())
21
return
ESerializeResult
.DEFAULT;
22
23
context.WriteValue(
"version"
, 1);
24
context.WriteDefault(isHQ,
false
);
25
context.WriteDefault(buildingId,
UUID
.NULL_UUID);
26
context.WriteDefault(callsign, SCR_MilitaryBaseComponent.INVALID_BASE_CALLSIGN);
27
context.WriteDefault(builtByPlayers,
false
);
28
context.WriteDefault(builtFaction,
FactionKey
.Empty);
29
30
return
ESerializeResult
.OK;
31
}
32
33
//------------------------------------------------------------------------------------------------
34
override
protected
bool
Deserialize
(notnull
IEntity
owner, notnull
GenericComponent
component, notnull
LoadContext
context)
35
{
36
SCR_CampaignMilitaryBaseComponent
militaryBase =
SCR_CampaignMilitaryBaseComponent
.Cast(component);
37
38
int
version;
39
context.Read(version);
40
41
bool
isHQ;
42
if
(context.Read(isHQ))
43
militaryBase.
SetAsHQ
(isHQ);
44
45
UUID
buildingId;
46
if
(context.Read(buildingId) && !buildingId.IsNull())
47
{
48
Tuple1<SCR_CampaignMilitaryBaseComponent>
ctx(militaryBase);
49
PersistenceWhenAvailableTask
task
(
OnBuildingAvailable
, ctx);
50
GetSystem().WhenAvailable(buildingId,
task
);
51
}
52
53
int
callsign;
54
context.Read(callsign);
55
militaryBase.SetCallsignIndex(callsign);
56
57
bool
builtByPlayers;
58
if
(context.Read(builtByPlayers))
59
militaryBase.
SetBuiltByPlayers
(builtByPlayers);
60
61
FactionKey
builtFaction;
62
if
(context.Read(builtFaction))
63
{
64
const
Faction
faction =
GetGame
().GetFactionManager().GetFactionByKey(builtFaction);
65
if
(faction)
66
militaryBase.
SetBuiltFaction
(faction);
67
}
68
69
militaryBase.
Initialize
();
70
71
SCR_GameModeCampaign
campaign =
SCR_GameModeCampaign
.GetInstance();
72
if
(campaign)
73
campaign.GetBaseManager().UpdateBases();
74
75
return
true
;
76
}
77
78
//------------------------------------------------------------------------------------------------
79
protected
static
void
OnBuildingAvailable
(Managed instance,
PersistenceDeferredDeserializeTask
task
,
bool
expired, Managed context)
80
{
81
auto
building =
IEntity
.Cast(instance);
82
if
(!building)
83
return
;
84
85
auto
ctx =
Tuple1<SCR_CampaignMilitaryBaseComponent>
.Cast(context);
86
if
(ctx.param1)
87
ctx.param1.SetBaseBuildingComposition(building);
88
}
89
}
GetTargetType
class SCR_PersistentThreatSector GetTargetType()
Definition
AIControlComponentSerializer.c:12
GetGame
ArmaReforgerScripted GetGame()
Definition
game.c:1398
SCR_GameModeCampaign
void SCR_GameModeCampaign(IEntitySource src, IEntity parent)
Definition
SCR_GameModeCampaign.c:1812
task
from task
Definition
SCR_TaskNotificationConfigs.c:12
Faction
Definition
Faction.c:13
FactionKey
Definition
FactionKey.c:3
GenericComponent
Definition
GenericComponent.c:13
IEntity
Definition
IEntity.c:13
LoadContext
Definition
LoadContext.c:17
PersistenceDeferredDeserializeTask
Definition
PersistenceDeferredDeserializeTask.c:13
PersistenceWhenAvailableTask
Definition
PersistenceWhenAvailableTask.c:14
SCR_CampaignMilitaryBaseComponent
Definition
SCR_CampaignMilitaryBaseComponent.c:38
SCR_CampaignMilitaryBaseComponent::SetBuiltByPlayers
void SetBuiltByPlayers(bool builtByPlayers)
Definition
SCR_CampaignMilitaryBaseComponent.c:412
SCR_CampaignMilitaryBaseComponent::IsHQ
bool IsHQ()
Definition
SCR_CampaignMilitaryBaseComponent.c:1031
SCR_CampaignMilitaryBaseComponent::Initialize
void Initialize()
Definition
SCR_CampaignMilitaryBaseComponent.c:491
SCR_CampaignMilitaryBaseComponent::SetAsHQ
void SetAsHQ(bool isHQ)
Definition
SCR_CampaignMilitaryBaseComponent.c:982
SCR_CampaignMilitaryBaseComponent::GetBuiltFaction
FactionKey GetBuiltFaction()
Definition
SCR_CampaignMilitaryBaseComponent.c:439
SCR_CampaignMilitaryBaseComponent::SetBuiltFaction
void SetBuiltFaction(notnull Faction faction)
Definition
SCR_CampaignMilitaryBaseComponent.c:428
SCR_CampaignMilitaryBaseComponent::GetBaseBuildingComposition
IEntity GetBaseBuildingComposition()
Definition
SCR_CampaignMilitaryBaseComponent.c:248
SCR_CampaignMilitaryBaseComponent::GetBuiltByPlayers
bool GetBuiltByPlayers()
Definition
SCR_CampaignMilitaryBaseComponent.c:422
SCR_CampaignMilitaryBaseComponentSerializer
Definition
SCR_CampaignMilitaryBaseComponentSerializer.c:2
SCR_CampaignMilitaryBaseComponentSerializer::Deserialize
bool Deserialize(notnull IEntity owner, notnull GenericComponent component, notnull LoadContext context)
Definition
SCR_CampaignMilitaryBaseComponentSerializer.c:34
SCR_CampaignMilitaryBaseComponentSerializer::OnBuildingAvailable
static void OnBuildingAvailable(Managed instance, PersistenceDeferredDeserializeTask task, bool expired, Managed context)
Definition
SCR_CampaignMilitaryBaseComponentSerializer.c:79
SCR_CampaignMilitaryBaseComponentSerializer::Serialize
ESerializeResult Serialize(notnull IEntity owner, notnull GenericComponent component, notnull SaveContext context)
Definition
SCR_CampaignMilitaryBaseComponentSerializer.c:10
SaveContext
Definition
SaveContext.c:17
ScriptedComponentSerializer
Definition
ScriptedComponentSerializer.c:13
UUID
Definition
UUID.c:28
ESerializeResult
ESerializeResult
Definition
ESerializeResult.c:13
Tuple1
void Tuple1(T1 p1)
Definition
tuple.c:37
scripts
Game
Plugins
Persistence
System
Serializers
Components
GameMode
Conflict
SCR_CampaignMilitaryBaseComponentSerializer.c
Generated by
1.17.0