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_AnalyticsDataCollectionMilitaryBaseEventsModule.c
Go to the documentation of this file.
1
[
BaseContainerProps
()]
2
class
SCR_AnalyticsDataCollectionMilitaryBaseEventsModule
:
SCR_AnalyticsDataCollectionModule
3
{
4
protected
SCR_CampaignMilitaryBaseComponent
baseInCreation
;
5
6
//------------------------------------------------------------------------------------------------
7
protected
override
void
Enable
()
8
{
9
super.Enable();
10
11
SCR_CampaignMilitaryBaseComponent
.
GetOnFactionChangedExtended
().Insert(
OnBaseFactionChanged
);
12
SCR_CampaignMilitaryBaseComponent
.
GetOnBaseUnderAttack
().Insert(
OnBaseUnderAttack
);
13
SCR_CampaignMilitaryBaseComponent
.
GetOnBaseCreatedAsFOB
().Insert(
HandleBaseCreation
);
14
SCR_CampaignMilitaryBaseManager
.
GetOnBaseDisassembled
().Insert(
OnBaseDisassembledAsFOB
);
15
}
16
17
//------------------------------------------------------------------------------------------------
18
protected
override
void
Disable
()
19
{
20
super.Disable();
21
22
SCR_CampaignMilitaryBaseComponent
.
GetOnFactionChangedExtended
().Remove(
OnBaseFactionChanged
);
23
SCR_CampaignMilitaryBaseComponent
.
GetOnBaseUnderAttack
().Remove(
OnBaseUnderAttack
);
24
SCR_CampaignMilitaryBaseComponent
.
GetOnBaseCreatedAsFOB
().Remove(
HandleBaseCreation
);
25
SCR_CampaignMilitaryBaseManager
.
GetOnBaseDisassembled
().Remove(
OnBaseDisassembledAsFOB
);
26
}
27
28
//------------------------------------------------------------------------------------------------
33
protected
void
OnBaseFactionChanged
(notnull
SCR_CampaignMilitaryBaseComponent
base
,
Faction
previousFaction,
Faction
currentFaction)
34
{
35
if
(
baseInCreation
)
36
{
37
if
(
base
==
baseInCreation
)
38
{
39
GetGame
().GetCallqueue().Remove(
OnBaseCreatedAsFOB
);
40
OnBaseCreatedAsFOB
(
base
, currentFaction);
41
return
;
42
}
43
}
44
45
SCR_SessionDataEvent
sessionEvent =
SetSessionEventBaseInfoWhenOffensive
(
base
, previousFaction, currentFaction);
46
if
(!sessionEvent)
47
return
;
48
49
//Send event of SessionBaseCaptured
50
GetGame
().GetStatsApi().SessionBaseCaptured(sessionEvent);
51
}
52
53
//------------------------------------------------------------------------------------------------
58
protected
void
OnBaseUnderAttack
(notnull
SCR_CampaignMilitaryBaseComponent
base
,
Faction
defendingFaction,
Faction
attackingFaction)
59
{
60
SCR_SessionDataEvent
sessionEvent =
SetSessionEventBaseInfoWhenOffensive
(
base
, defendingFaction, attackingFaction);
61
if
(!sessionEvent)
62
return
;
63
64
//Send event of SessionBaseAttacked
65
GetGame
().GetStatsApi().SessionBaseAttacked(sessionEvent);
66
}
67
68
//------------------------------------------------------------------------------------------------
72
protected
void
HandleBaseCreation
(notnull
SCR_CampaignMilitaryBaseComponent
base
,
Faction
establishingFaction)
73
{
74
baseInCreation
=
base
;
75
GetGame
().GetCallqueue().CallLater(
OnBaseCreatedAsFOB
, 1000,
false
,
base
, establishingFaction);
76
}
77
78
//------------------------------------------------------------------------------------------------
82
protected
void
OnBaseCreatedAsFOB
(notnull
SCR_CampaignMilitaryBaseComponent
base
,
Faction
establishingFaction)
83
{
84
if
(
baseInCreation
)
85
baseInCreation
= null;
86
87
SCR_SessionDataEvent
sessionEvent =
SetSessionEventBaseInfoWhenCreatingOrErasing
(
base
, establishingFaction);
88
if
(!sessionEvent)
89
return
;
90
91
//Send event of SessionBaseAttacked
92
GetGame
().GetStatsApi().CreateSessionEvent(sessionEvent,
"baseCreated"
);
93
}
94
95
//------------------------------------------------------------------------------------------------
99
protected
void
OnBaseDisassembledAsFOB
(notnull
SCR_CampaignMilitaryBaseComponent
base
,
Faction
establishingFaction)
100
{
101
SCR_SessionDataEvent
sessionEvent =
SetSessionEventBaseInfoWhenCreatingOrErasing
(
base
, establishingFaction);
102
if
(!sessionEvent)
103
return
;
104
105
//Send event of SessionBaseAttacked
106
GetGame
().GetStatsApi().CreateSessionEvent(sessionEvent,
"baseDisassembled"
);
107
}
108
109
//------------------------------------------------------------------------------------------------
110
protected
SCR_SessionDataEvent
SetSessionEventBaseInfoWhenCreatingOrErasing
(notnull
SCR_CampaignMilitaryBaseComponent
base
,
Faction
establishingFaction)
111
{
112
if
(!
base
)
113
return
null;
114
115
SCR_SessionDataEvent
sessionEvent =
GetSessionDataEvent
();
116
if
(!sessionEvent)
117
return
null;
118
119
sessionEvent.name_base =
"FoB"
;
120
sessionEvent.name_faction_base_def =
""
;
121
sessionEvent.name_faction_base_att =
""
;
122
if
(establishingFaction)
123
sessionEvent.name_faction_base_establishing = establishingFaction.GetFactionKey();
124
else
125
sessionEvent.name_faction_base_establishing =
"Unknown faction"
;
126
127
vector
basePosition;
128
129
if
(
base
.GetOwner())
130
basePosition =
base
.GetOwner().GetOrigin();
131
else
132
basePosition =
vector
.Zero;
133
134
sessionEvent.base_position_x = basePosition[0];
135
sessionEvent.base_position_y = basePosition[1];
136
sessionEvent.base_position_z = basePosition[2];
137
138
return
sessionEvent;
139
}
140
141
protected
SCR_SessionDataEvent
SetSessionEventBaseInfoWhenOffensive
(notnull
SCR_CampaignMilitaryBaseComponent
base
,
Faction
defendingFaction,
Faction
attackingFaction)
142
{
143
if
(!
base
|| !defendingFaction || !attackingFaction)
144
return
null;
145
146
SCR_SessionDataEvent
sessionEvent =
GetSessionDataEvent
();
147
if
(!sessionEvent)
148
return
null;
149
150
sessionEvent.name_base =
base
.GetBaseName();
151
sessionEvent.name_faction_base_def = defendingFaction.GetFactionKey();
152
sessionEvent.name_faction_base_att = attackingFaction.GetFactionKey();
153
sessionEvent.name_faction_base_establishing =
""
;
154
155
vector
basePosition =
base
.GetOwner().GetOrigin();
156
sessionEvent.base_position_x = basePosition[0];
157
sessionEvent.base_position_y = basePosition[1];
158
sessionEvent.base_position_z = basePosition[2];
159
160
return
sessionEvent;
161
}
162
163
#ifdef ENABLE_DIAG
164
//------------------------------------------------------------------------------------------------
165
override
void
DrawContent()
166
{
167
if
(!
m_bIsEnabled
)
168
{
169
DbgUI
.Text(
"Module disabled!"
);
170
return
;
171
}
172
173
DbgUI.Text(
"This module does not save any data."
);
174
}
175
#endif
176
177
//------------------------------------------------------------------------------------------------
178
protected
void
~SCR_AnalyticsDataCollectionMilitaryBaseEventsModule
()
179
{
180
Disable
();
181
}
182
}
GetGame
ArmaReforgerScripted GetGame()
Definition
game.c:1398
BaseContainerProps
SCR_AIAnimation_Loitering BaseContainerProps
Commanding menu commanding element class.
Definition
SCR_AIAnimationWaypoint.c:14
base
around base
Definition
SCR_HoldCampaignMilitaryBaseTaskEntity.c:9
m_bIsEnabled
bool m_bIsEnabled
Definition
SCR_PlayerSupplyAllocationComponent.c:23
DbgUI
Definition
DbgUI.c:66
Faction
Definition
Faction.c:13
SCR_AnalyticsDataCollectionMilitaryBaseEventsModule
Definition
SCR_AnalyticsDataCollectionMilitaryBaseEventsModule.c:3
SCR_AnalyticsDataCollectionMilitaryBaseEventsModule::~SCR_AnalyticsDataCollectionMilitaryBaseEventsModule
void ~SCR_AnalyticsDataCollectionMilitaryBaseEventsModule()
Definition
SCR_AnalyticsDataCollectionMilitaryBaseEventsModule.c:178
SCR_AnalyticsDataCollectionMilitaryBaseEventsModule::SetSessionEventBaseInfoWhenOffensive
SCR_SessionDataEvent SetSessionEventBaseInfoWhenOffensive(notnull SCR_CampaignMilitaryBaseComponent base, Faction defendingFaction, Faction attackingFaction)
Definition
SCR_AnalyticsDataCollectionMilitaryBaseEventsModule.c:141
SCR_AnalyticsDataCollectionMilitaryBaseEventsModule::Enable
override void Enable()
Definition
SCR_AnalyticsDataCollectionMilitaryBaseEventsModule.c:7
SCR_AnalyticsDataCollectionMilitaryBaseEventsModule::OnBaseFactionChanged
void OnBaseFactionChanged(notnull SCR_CampaignMilitaryBaseComponent base, Faction previousFaction, Faction currentFaction)
Definition
SCR_AnalyticsDataCollectionMilitaryBaseEventsModule.c:33
SCR_AnalyticsDataCollectionMilitaryBaseEventsModule::OnBaseCreatedAsFOB
void OnBaseCreatedAsFOB(notnull SCR_CampaignMilitaryBaseComponent base, Faction establishingFaction)
Definition
SCR_AnalyticsDataCollectionMilitaryBaseEventsModule.c:82
SCR_AnalyticsDataCollectionMilitaryBaseEventsModule::SetSessionEventBaseInfoWhenCreatingOrErasing
SCR_SessionDataEvent SetSessionEventBaseInfoWhenCreatingOrErasing(notnull SCR_CampaignMilitaryBaseComponent base, Faction establishingFaction)
Definition
SCR_AnalyticsDataCollectionMilitaryBaseEventsModule.c:110
SCR_AnalyticsDataCollectionMilitaryBaseEventsModule::OnBaseUnderAttack
void OnBaseUnderAttack(notnull SCR_CampaignMilitaryBaseComponent base, Faction defendingFaction, Faction attackingFaction)
Definition
SCR_AnalyticsDataCollectionMilitaryBaseEventsModule.c:58
SCR_AnalyticsDataCollectionMilitaryBaseEventsModule::Disable
override void Disable()
Definition
SCR_AnalyticsDataCollectionMilitaryBaseEventsModule.c:18
SCR_AnalyticsDataCollectionMilitaryBaseEventsModule::OnBaseDisassembledAsFOB
void OnBaseDisassembledAsFOB(notnull SCR_CampaignMilitaryBaseComponent base, Faction establishingFaction)
Definition
SCR_AnalyticsDataCollectionMilitaryBaseEventsModule.c:99
SCR_AnalyticsDataCollectionMilitaryBaseEventsModule::HandleBaseCreation
void HandleBaseCreation(notnull SCR_CampaignMilitaryBaseComponent base, Faction establishingFaction)
Definition
SCR_AnalyticsDataCollectionMilitaryBaseEventsModule.c:72
SCR_AnalyticsDataCollectionMilitaryBaseEventsModule::baseInCreation
SCR_CampaignMilitaryBaseComponent baseInCreation
Definition
SCR_AnalyticsDataCollectionMilitaryBaseEventsModule.c:4
SCR_AnalyticsDataCollectionModule
Definition
SCR_AnalyticsDataCollectionModule.c:3
SCR_AnalyticsDataCollectionModule::GetSessionDataEvent
SCR_SessionDataEvent GetSessionDataEvent()
Definition
SCR_AnalyticsDataCollectionModule.c:74
SCR_CampaignMilitaryBaseComponent
Definition
SCR_CampaignMilitaryBaseComponent.c:38
SCR_CampaignMilitaryBaseComponent::GetOnFactionChangedExtended
static OnBaseStateChangedInvoker GetOnFactionChangedExtended()
Definition
SCR_CampaignMilitaryBaseComponent.c:1065
SCR_CampaignMilitaryBaseComponent::GetOnBaseUnderAttack
static OnBaseStateChangedInvoker GetOnBaseUnderAttack()
Definition
SCR_CampaignMilitaryBaseComponent.c:1055
SCR_CampaignMilitaryBaseComponent::GetOnBaseCreatedAsFOB
static OnBaseCreatedAsFOBInvoker GetOnBaseCreatedAsFOB()
Definition
SCR_CampaignMilitaryBaseComponent.c:1084
SCR_CampaignMilitaryBaseManager
Created in SCR_GameModeCampaign.
Definition
SCR_CampaignMilitaryBaseManager.c:25
SCR_CampaignMilitaryBaseManager::GetOnBaseDisassembled
static OnBaseBuiltInvoker GetOnBaseDisassembled()
Definition
SCR_CampaignMilitaryBaseManager.c:172
SCR_SessionDataEvent
Definition
SCR_SessionDataEvent.c:2
vector
Definition
vector.c:13
scripts
Game
DataCollection
AnalyticsDataCollectionModules
SCR_AnalyticsDataCollectionMilitaryBaseEventsModule.c
Generated by
1.17.0