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_AIGroupUtilityComponentSerializer.c
Go to the documentation of this file.
1
class
SCR_AIGroupUtilityComponentSerializer
:
ScriptedComponentSerializer
2
{
3
//------------------------------------------------------------------------------------------------
4
override
static
typename
GetTargetType
()
5
{
6
return
SCR_AIGroupUtilityComponent
;
7
}
8
9
//------------------------------------------------------------------------------------------------
10
override
protected
ESerializeResult
Serialize
(notnull
IEntity
owner, notnull
GenericComponent
component, notnull
SaveContext
context)
11
{
12
const
SCR_AIGroupUtilityComponent
aiGroupUtility =
SCR_AIGroupUtilityComponent
.Cast(component);
13
14
const
float
autonomousDistance = aiGroupUtility.
GetMaxAutonomousDistance
();
15
const
EAIGroupCombatMode
combatMode = aiGroupUtility.
GetCombatModeExternal
();
16
17
if
(autonomousDistance ==
SCR_AIGroupUtilityComponent
.AUTONOMOUS_DISTANCE_MAX_DEFAULT &&
18
combatMode ==
EAIGroupCombatMode
.FIRE_AT_WILL)
19
{
20
return
ESerializeResult
.DEFAULT;
21
}
22
23
context.WriteValue(
"version"
, 1);
24
context.WriteDefault(autonomousDistance,
SCR_AIGroupUtilityComponent
.AUTONOMOUS_DISTANCE_MAX_DEFAULT);
25
context.WriteDefault(combatMode,
EAIGroupCombatMode
.FIRE_AT_WILL);
26
return
ESerializeResult
.OK;
27
}
28
29
//------------------------------------------------------------------------------------------------
30
override
protected
bool
Deserialize
(notnull
IEntity
owner, notnull
GenericComponent
component, notnull
LoadContext
context)
31
{
32
auto
aiGroupUtility =
SCR_AIGroupUtilityComponent
.Cast(component);
33
34
int
version;
35
context.Read(version);
36
37
float
autonomousDistance;
38
context.ReadDefault(autonomousDistance,
SCR_AIGroupUtilityComponent
.AUTONOMOUS_DISTANCE_MAX_DEFAULT);
39
40
EAIGroupCombatMode
combatMode;
41
context.ReadDefault(combatMode,
EAIGroupCombatMode
.FIRE_AT_WILL);
42
43
if
(autonomousDistance !=
SCR_AIGroupUtilityComponent
.AUTONOMOUS_DISTANCE_MAX_DEFAULT)
44
aiGroupUtility.SetMaxAutonomousDistance(autonomousDistance);
45
46
if
(combatMode !=
EAIGroupCombatMode
.FIRE_AT_WILL)
47
aiGroupUtility.SetCombatMode(combatMode);
48
49
return
true
;
50
}
51
}
GetTargetType
class SCR_PersistentThreatSector GetTargetType()
Definition
AIControlComponentSerializer.c:12
EAIGroupCombatMode
EAIGroupCombatMode
Definition
SCR_AIGroupUtilityComponent.c:6
GenericComponent
Definition
GenericComponent.c:13
IEntity
Definition
IEntity.c:13
LoadContext
Definition
LoadContext.c:17
SCR_AIGroupUtilityComponent
Definition
SCR_AIGroupUtilityComponent.c:18
SCR_AIGroupUtilityComponent::GetMaxAutonomousDistance
float GetMaxAutonomousDistance()
Definition
SCR_AIGroupUtilityComponent.c:133
SCR_AIGroupUtilityComponent::GetCombatModeExternal
EAIGroupCombatMode GetCombatModeExternal()
See SetCombatMode.
Definition
SCR_AIGroupUtilityComponent.c:147
SCR_AIGroupUtilityComponentSerializer
Definition
SCR_AIGroupUtilityComponentSerializer.c:2
SCR_AIGroupUtilityComponentSerializer::Serialize
ESerializeResult Serialize(notnull IEntity owner, notnull GenericComponent component, notnull SaveContext context)
Definition
SCR_AIGroupUtilityComponentSerializer.c:10
SCR_AIGroupUtilityComponentSerializer::Deserialize
bool Deserialize(notnull IEntity owner, notnull GenericComponent component, notnull LoadContext context)
Definition
SCR_AIGroupUtilityComponentSerializer.c:30
SaveContext
Definition
SaveContext.c:17
ScriptedComponentSerializer
Definition
ScriptedComponentSerializer.c:13
ESerializeResult
ESerializeResult
Definition
ESerializeResult.c:13
scripts
Game
Plugins
Persistence
System
Serializers
Components
AI
SCR_AIGroupUtilityComponentSerializer.c
Generated by
1.17.0