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_AnalyticsDataCollectionAiGroupCostModule.c
Go to the documentation of this file.
1
[
BaseContainerProps
()]
2
class
SCR_AnalyticsDataCollectionAiGroupCostModule
:
SCR_AnalyticsDataCollectionSupplyCostBaseModule
3
{
4
//------------------------------------------------------------------------------------------------
5
protected
override
void
Enable
()
6
{
7
super.Enable();
8
9
SCR_GameModeCampaign
campaign =
SCR_GameModeCampaign
.GetInstance();
10
if
(campaign)
11
campaign.GetOnEntityRequested().Insert(
OnAIGroupSpawned
);
12
}
13
14
//------------------------------------------------------------------------------------------------
15
protected
override
void
Disable
()
16
{
17
super.Disable();
18
19
SCR_GameModeCampaign
campaign =
SCR_GameModeCampaign
.GetInstance();
20
if
(campaign)
21
campaign.GetOnEntityRequested().Remove(
OnAIGroupSpawned
);
22
}
23
24
//------------------------------------------------------------------------------------------------
28
protected
void
OnAIGroupSpawned
(
IEntity
userEntity,
IEntity
spawnedEntity)
29
{
30
// Spawned entity is not an AI group
31
SCR_AIGroup
aiGroup =
SCR_AIGroup
.Cast(spawnedEntity);
32
if
(!aiGroup)
33
return
;
34
35
// User is not a player
36
int
playerId =
GetGame
().GetPlayerManager().GetPlayerIdFromControlledEntity(userEntity);
37
if
(playerId == 0)
38
return
;
39
40
string
aiGroupName =
SCR_AnalyticsDataCollectionHelper
.GetEntityPrefabName(spawnedEntity);
41
int
aiGroupCost =
GetAiGroupCost
(spawnedEntity);
42
43
AddSupplySpendingData
(playerId, aiGroupName, aiGroupCost);
44
}
45
46
//------------------------------------------------------------------------------------------------
50
protected
int
GetAiGroupCost
(
IEntity
groupEntity)
51
{
52
SCR_EditableGroupComponent
editableGroupComponent =
SCR_EditableGroupComponent
.Cast(
SCR_EditableEntityComponent
.
GetEditableEntity
(groupEntity));
53
if
(!editableGroupComponent)
54
return
0;
55
56
array<ref SCR_EntityBudgetValue> budgets = {};
57
editableGroupComponent.GetPrefabBudgetCost(budgets);
58
59
foreach
(
SCR_EntityBudgetValue
budget : budgets)
60
{
61
// We only care about Conflict budget
62
if
(budget.GetBudgetType() ==
EEditableEntityBudget
.CAMPAIGN)
63
return
budget.GetBudgetValue();
64
}
65
66
return
0;
67
}
68
69
//------------------------------------------------------------------------------------------------
70
protected
void
~SCR_AnalyticsDataCollectionAiGroupCostModule
()
71
{
72
Disable
();
73
}
74
}
EEditableEntityBudget
EEditableEntityBudget
Definition
EEditableEntityBudget.c:2
GetGame
ArmaReforgerScripted GetGame()
Definition
game.c:1398
BaseContainerProps
SCR_AIAnimation_Loitering BaseContainerProps
Commanding menu commanding element class.
Definition
SCR_AIAnimationWaypoint.c:14
SCR_EditableGroupComponent
void SCR_EditableGroupComponent(IEntityComponentSource src, IEntity ent, IEntity parent)
Definition
SCR_EditableGroupComponent.c:881
SCR_GameModeCampaign
void SCR_GameModeCampaign(IEntitySource src, IEntity parent)
Definition
SCR_GameModeCampaign.c:1812
IEntity
Definition
IEntity.c:13
SCR_AIGroup
Definition
SCR_AIGroup.c:75
SCR_AnalyticsDataCollectionAiGroupCostModule
Definition
SCR_AnalyticsDataCollectionAiGroupCostModule.c:3
SCR_AnalyticsDataCollectionAiGroupCostModule::OnAIGroupSpawned
void OnAIGroupSpawned(IEntity userEntity, IEntity spawnedEntity)
Definition
SCR_AnalyticsDataCollectionAiGroupCostModule.c:28
SCR_AnalyticsDataCollectionAiGroupCostModule::Enable
override void Enable()
Definition
SCR_AnalyticsDataCollectionAiGroupCostModule.c:5
SCR_AnalyticsDataCollectionAiGroupCostModule::Disable
override void Disable()
Definition
SCR_AnalyticsDataCollectionAiGroupCostModule.c:15
SCR_AnalyticsDataCollectionAiGroupCostModule::GetAiGroupCost
int GetAiGroupCost(IEntity groupEntity)
Definition
SCR_AnalyticsDataCollectionAiGroupCostModule.c:50
SCR_AnalyticsDataCollectionAiGroupCostModule::~SCR_AnalyticsDataCollectionAiGroupCostModule
void ~SCR_AnalyticsDataCollectionAiGroupCostModule()
Definition
SCR_AnalyticsDataCollectionAiGroupCostModule.c:70
SCR_AnalyticsDataCollectionHelper
Definition
SCR_AnalyticsDataCollectionHelper.c:2
SCR_AnalyticsDataCollectionSupplyCostBaseModule
Definition
SCR_AnalyticsDataCollectionSupplyCostBaseModule.c:3
SCR_AnalyticsDataCollectionSupplyCostBaseModule::AddSupplySpendingData
void AddSupplySpendingData(int playerID, string itemName, int cost)
Definition
SCR_AnalyticsDataCollectionSupplyCostBaseModule.c:33
SCR_EditableEntityComponent
Definition
SCR_EditableEntityComponent.c:14
SCR_EditableEntityComponent::GetEditableEntity
static SCR_EditableEntityComponent GetEditableEntity(IEntity owner)
Definition
SCR_EditableEntityComponent.c:919
SCR_EntityBudgetValue
Definition
SCR_EntityBudgetValue.c:3
scripts
Game
DataCollection
AnalyticsDataCollectionModules
SCR_AnalyticsDataCollectionAiGroupCostModule.c
Generated by
1.17.0