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_MineWeaponComponentSerializer.c
Go to the documentation of this file.
1
class
SCR_MineWeaponComponentSerializer
:
ScriptedComponentSerializer
2
{
3
//------------------------------------------------------------------------------------------------
4
override
static
typename
GetTargetType
()
5
{
6
return
SCR_MineWeaponComponent;
7
}
8
9
//------------------------------------------------------------------------------------------------
10
override
protected
ESerializeResult
Serialize
(notnull
IEntity
owner, notnull
GenericComponent
component, notnull
SaveContext
context)
11
{
12
const
SCR_MineWeaponComponent mine = SCR_MineWeaponComponent.Cast(component);
13
14
const
UUID
flagId = GetSystem().GetId(mine.GetFlagEntity());
15
16
if
(flagId.IsNull())
17
return
ESerializeResult
.DEFAULT;
18
19
context.WriteValue(
"version"
, 1);
20
context.WriteDefault(flagId,
UUID
.NULL_UUID);
21
return
ESerializeResult
.OK;
22
}
23
24
//------------------------------------------------------------------------------------------------
25
override
protected
bool
Deserialize
(notnull
IEntity
owner, notnull
GenericComponent
component, notnull
LoadContext
context)
26
{
27
SCR_MineWeaponComponent mine = SCR_MineWeaponComponent.Cast(component);
28
29
int
version;
30
context.Read(version);
31
32
UUID
flagId;
33
if
(context.Read(flagId))
34
{
35
Tuple1<SCR_MineWeaponComponent>
ctx(mine);
36
PersistenceWhenAvailableTask
task
(
OnFlagAvailable
, ctx);
37
GetSystem().WhenAvailable(flagId,
task
);
38
}
39
40
return
true
;
41
}
42
43
//------------------------------------------------------------------------------------------------
44
protected
static
void
OnFlagAvailable
(Managed instance,
PersistenceDeferredDeserializeTask
task
,
bool
expired, Managed context)
45
{
46
auto
flag =
IEntity
.Cast(instance);
47
if
(!flag)
48
return
;
49
50
auto
ctx =
Tuple1<SCR_MineWeaponComponent>
.Cast(context);
51
if
(ctx.param1)
52
ctx.param1.SetFlag(flag);
53
}
54
}
GetTargetType
class SCR_PersistentThreatSector GetTargetType()
Definition
AIControlComponentSerializer.c:12
task
from task
Definition
SCR_TaskNotificationConfigs.c:12
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_MineWeaponComponentSerializer
Definition
SCR_MineWeaponComponentSerializer.c:2
SCR_MineWeaponComponentSerializer::Deserialize
bool Deserialize(notnull IEntity owner, notnull GenericComponent component, notnull LoadContext context)
Definition
SCR_MineWeaponComponentSerializer.c:25
SCR_MineWeaponComponentSerializer::OnFlagAvailable
static void OnFlagAvailable(Managed instance, PersistenceDeferredDeserializeTask task, bool expired, Managed context)
Definition
SCR_MineWeaponComponentSerializer.c:44
SCR_MineWeaponComponentSerializer::Serialize
ESerializeResult Serialize(notnull IEntity owner, notnull GenericComponent component, notnull SaveContext context)
Definition
SCR_MineWeaponComponentSerializer.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
Weapon
SCR_MineWeaponComponentSerializer.c
Generated by
1.17.0