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_AnalyticsDataCollectionTasksModule.c
Go to the documentation of this file.
1
2
enum
SCR_EAnalyticalTaskState
3
{
4
TASK_CREATED
,
5
REQUEST_CREATED
,
6
REQUEST_APPROVED
,
7
REQUEST_CANCELED
,
8
REQUEST_COMPLETED
,
9
REQUEST_FAILED
,
10
TASK_COMPLETED
,
11
TASK_FAILED
,
12
TASK_CANCELLED
13
}
14
15
[
BaseContainerProps
()]
16
class
SCR_AnalyticsDataCollectionTasksModule :
SCR_AnalyticsDataCollectionModule
17
{
18
protected
ref array<ref SCR_SessionDataEvent> m_TaskCache;
19
protected
int
m_TaskCacheLifeTime = 15000;
20
21
//------------------------------------------------------------------------------------------------
22
protected
override
void
Enable
()
23
{
24
super.
Enable
();
25
m_TaskCache = {};
26
SCR_TaskSystem.GetOnTaskCreated().Insert(TaskCreated);
27
SCR_TaskSystem.GetOnTaskRemoved().Insert(TaskRemoved);
28
}
29
30
//------------------------------------------------------------------------------------------------
31
protected
override
void
Disable
()
32
{
33
super.Disable();
34
SCR_TaskSystem.GetOnTaskCreated().Remove(TaskCreated);
35
SCR_TaskSystem.GetOnTaskRemoved().Remove(TaskRemoved);
36
delete
m_TaskCache;
37
}
38
39
//------------------------------------------------------------------------------------------------
42
protected
void
TaskCreated(
SCR_Task
task
)
43
{
44
if
(IsTaskRequested(
task
))
45
SendSessionDataEvent(
task
,
SCR_EAnalyticalTaskState
.REQUEST_CREATED);
46
else
47
SendSessionDataEvent(
task
,
SCR_EAnalyticalTaskState
.TASK_CREATED);
48
}
49
50
//------------------------------------------------------------------------------------------------
53
protected
void
TaskRemoved(
SCR_Task
task
)
54
{
55
if
(IsTaskRequested(
task
) &&
task
.GetTaskState() ==
SCR_ETaskState
.COMPLETED && SCR_EstablishBaseRequestedTaskEntity.Cast(
task
))
56
SendSessionDataEvent(
task
,
SCR_EAnalyticalTaskState
.REQUEST_APPROVED);
57
else
if
(IsTaskRequested(
task
) &&
task
.GetTaskState() ==
SCR_ETaskState
.COMPLETED)
58
SendSessionDataEvent(
task
,
SCR_EAnalyticalTaskState
.REQUEST_COMPLETED);
59
else
if
(IsTaskRequested(
task
) &&
task
.GetTaskState() ==
SCR_ETaskState
.CANCELLED)
60
SendSessionDataEvent(
task
,
SCR_EAnalyticalTaskState
.REQUEST_CANCELED);
61
else
if
(IsTaskRequested(
task
))
62
SendSessionDataEvent(
task
,
SCR_EAnalyticalTaskState
.REQUEST_FAILED);
63
else
if
(
task
.GetTaskState() ==
SCR_ETaskState
.COMPLETED)
64
SendSessionDataEvent(
task
,
SCR_EAnalyticalTaskState
.TASK_COMPLETED);
65
else
if
(
task
.GetTaskState() ==
SCR_ETaskState
.FAILED)
66
SendSessionDataEvent(
task
,
SCR_EAnalyticalTaskState
.TASK_FAILED);
67
else
68
SendSessionDataEvent(
task
,
SCR_EAnalyticalTaskState
.TASK_CANCELLED);
69
}
70
71
//------------------------------------------------------------------------------------------------
75
protected
void
SendSessionDataEvent(
SCR_Task
task
,
SCR_EAnalyticalTaskState
state)
76
{
77
SCR_SessionDataEvent sessionEvent =
new
SCR_SessionDataEvent();
78
sessionEvent.task_name =
task
.GetTaskName();
79
sessionEvent.task_id =
task
.GetTaskID();
80
sessionEvent.task_state =
typename
.EnumToString(
SCR_EAnalyticalTaskState
, state);
81
82
if
(
task
.GetAuthorID() != -1)
83
sessionEvent.task_author_id = SCR_PlayerIdentityUtils.GetPlayerIdentityId(
task
.GetAuthorID());
84
else
85
sessionEvent.task_author_id =
task
.GetAuthorID().ToString();
86
87
m_TaskCache.Insert(sessionEvent);
88
89
GetGame
().GetStatsApi().CreateSessionEvent(sessionEvent,
"taskUpdate"
);
90
GetGame
().GetCallqueue().CallLater(RemoveElement, m_TaskCacheLifeTime,
false
, sessionEvent);
91
}
92
93
//------------------------------------------------------------------------------------------------
96
protected
void
RemoveElement(SCR_SessionDataEvent item)
97
{
98
m_TaskCache.RemoveItem(item);
99
}
100
101
//------------------------------------------------------------------------------------------------
104
protected
bool
IsTaskRequested(
SCR_Task
task
)
105
{
106
return
SCR_BaseRequestedTaskEntity.Cast(
task
) != null;
107
}
108
}
GetGame
ArmaReforgerScripted GetGame()
Definition
game.c:1398
BaseContainerProps
SCR_AIAnimation_Loitering BaseContainerProps
Commanding menu commanding element class.
Definition
SCR_AIAnimationWaypoint.c:14
SCR_EAnalyticalTaskState
SCR_EAnalyticalTaskState
Types of task to track for analytical purposes, not completely related with their real task state.
Definition
SCR_AnalyticsDataCollectionTasksModule.c:3
REQUEST_COMPLETED
@ REQUEST_COMPLETED
Definition
SCR_AnalyticsDataCollectionTasksModule.c:8
REQUEST_CANCELED
@ REQUEST_CANCELED
Definition
SCR_AnalyticsDataCollectionTasksModule.c:7
TASK_COMPLETED
@ TASK_COMPLETED
Definition
SCR_AnalyticsDataCollectionTasksModule.c:10
REQUEST_APPROVED
@ REQUEST_APPROVED
Definition
SCR_AnalyticsDataCollectionTasksModule.c:6
REQUEST_FAILED
@ REQUEST_FAILED
Definition
SCR_AnalyticsDataCollectionTasksModule.c:9
TASK_CREATED
@ TASK_CREATED
Definition
SCR_AnalyticsDataCollectionTasksModule.c:4
TASK_CANCELLED
@ TASK_CANCELLED
Definition
SCR_AnalyticsDataCollectionTasksModule.c:12
REQUEST_CREATED
@ REQUEST_CREATED
Definition
SCR_AnalyticsDataCollectionTasksModule.c:5
TASK_FAILED
@ TASK_FAILED
Definition
SCR_AnalyticsDataCollectionTasksModule.c:11
SCR_Task
void SCR_Task(IEntitySource src, IEntity parent)
Definition
SCR_Task.c:1938
SCR_ETaskState
SCR_ETaskState
Definition
SCR_Task.c:3
task
from task
Definition
SCR_TaskNotificationConfigs.c:12
SCR_AnalyticsDataCollectionModule
Definition
SCR_AnalyticsDataCollectionModule.c:3
SCR_AnalyticsDataCollectionModule::Enable
void Enable()
Definition
SCR_AnalyticsDataCollectionModule.c:100
SCR_AnalyticsDataCollectionModule::Disable
void Disable()
Definition
SCR_AnalyticsDataCollectionModule.c:106
scripts
Game
DataCollection
AnalyticsDataCollectionModules
SCR_AnalyticsDataCollectionTasksModule.c
Generated by
1.17.0