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_AISetGroupFromation.c
Go to the documentation of this file.
1
class
SCR_AISetGroupFormation
:
AITaskScripted
2
{
3
protected
AIGroupMovementComponent
m_MovementComponent
;
4
protected
AIFormationComponent
m_FormationComponent
;
5
protected
SCR_AIGroupSettingsComponent
m_SettingsComponent
;
6
7
8
[
Attribute
(SCR_EAIGroupFormation.Wedge.ToString(),
UIWidgets
.ComboBox, enums: ParamEnumArray.FromEnum(SCR_EAIGroupFormation))]
9
protected
SCR_EAIGroupFormation
m_eFormation
;
10
11
//---------------------------------------------------------------------------------
12
override
void
OnInit
(AIAgent owner)
13
{
14
m_MovementComponent
= AIGroupMovementComponent.Cast(owner.FindComponent(AIGroupMovementComponent));
15
m_FormationComponent
=
AIFormationComponent
.Cast(owner.FindComponent(
AIFormationComponent
));
16
m_SettingsComponent
= SCR_AIGroupSettingsComponent.Cast(owner.FindComponent(SCR_AIGroupSettingsComponent));
17
}
18
19
//---------------------------------------------------------------------------------
20
override
ENodeResult
EOnTaskSimulate
(AIAgent owner,
float
dt)
21
{
22
// Bail if it totally makes no sense
23
if
(!
m_FormationComponent
&& !
m_MovementComponent
)
24
return
ENodeResult
.FAIL;
25
26
SCR_EAIGroupFormation formation =
m_eFormation
;
27
28
// Check if formation is set via settings
29
SCR_AIGroupFormationSettingBase
formationSetting;
30
if
(
m_SettingsComponent
)
31
formationSetting =
SCR_AIGroupFormationSettingBase
.Cast(
m_SettingsComponent
.GetCurrentSetting(
SCR_AIGroupFormationSettingBase
));
32
33
// Set formation in formation component
34
if
(
m_FormationComponent
)
35
{
36
SCR_EAIGroupFormation formationForFormComponent = formation;
37
38
// Override from settings?
39
if
(formationSetting)
40
formationForFormComponent = formationSetting.GetFormation(0, formation);
41
42
string
formationName =
typename
.EnumToString(SCR_EAIGroupFormation, formationForFormComponent);
43
m_FormationComponent
.SetFormation(formationName);
44
}
45
46
// Set formation for all move handlers in movement component
47
if
(
m_MovementComponent
)
48
{
49
int
handlerId = 0;
50
while
(
m_MovementComponent
.GetMoveHandlerAgentCount(handlerId) != -1)
51
{
52
SCR_EAIGroupFormation formationForMoveHandler = formation;
53
54
// Override from settings?
55
if
(formationSetting)
56
formationForMoveHandler = formationSetting.GetFormation(handlerId, formation);
57
58
string
formationName =
typename
.EnumToString(SCR_EAIGroupFormation, formationForMoveHandler);
59
m_MovementComponent
.SetFormationDefinition(handlerId, formationName);
60
handlerId++;
61
}
62
}
63
64
return
ENodeResult
.SUCCESS;
65
}
66
67
//---------------------------------------------------------------------------------
68
override
static
bool
VisibleInPalette
() {
return
true
; }
69
70
//---------------------------------------------------------------------------------
71
override
static
string
GetOnHoverDescription
() {
return
"Sets formation of group. Also checks formation in settings component."
; }
72
}
AIFormationComponent
Definition
AIFormationComponent.c:13
AITaskScripted
Definition
AITaskScripted.c:13
SCR_AIGroupFormationSettingBase
Definition
SCR_AIGroupFormationSetting.c:3
SCR_AISetGroupFormation
Definition
SCR_AISetGroupFromation.c:2
SCR_AISetGroupFormation::GetOnHoverDescription
static override string GetOnHoverDescription()
Definition
SCR_AISetGroupFromation.c:71
SCR_AISetGroupFormation::EOnTaskSimulate
override ENodeResult EOnTaskSimulate(AIAgent owner, float dt)
Definition
SCR_AISetGroupFromation.c:20
SCR_AISetGroupFormation::m_SettingsComponent
SCR_AIGroupSettingsComponent m_SettingsComponent
Definition
SCR_AISetGroupFromation.c:5
SCR_AISetGroupFormation::m_eFormation
SCR_EAIGroupFormation m_eFormation
Definition
SCR_AISetGroupFromation.c:9
SCR_AISetGroupFormation::OnInit
override void OnInit(AIAgent owner)
Definition
SCR_AISetGroupFromation.c:12
SCR_AISetGroupFormation::m_FormationComponent
AIFormationComponent m_FormationComponent
Definition
SCR_AISetGroupFromation.c:4
SCR_AISetGroupFormation::VisibleInPalette
static override bool VisibleInPalette()
Definition
SCR_AISetGroupFromation.c:68
SCR_AISetGroupFormation::m_MovementComponent
AIGroupMovementComponent m_MovementComponent
Definition
SCR_AISetGroupFromation.c:3
UIWidgets
Definition
attributes.c:40
ENodeResult
ENodeResult
Definition
ENodeResult.c:13
Attribute
SCR_FieldOfViewSettings Attribute
Definition
SendGoalMessage.c:170
scripts
Game
AI
ScriptedNodes
Groups
SCR_AISetGroupFromation.c
Generated by
1.17.0