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_GroupTaskRelevanceConfig.c
Go to the documentation of this file.
1
[
BaseContainerProps
(configRoot:
true
)]
2
class
SCR_GroupTaskRelevanceConfig
3
{
4
[
Attribute
(
desc
:
"Group task relevance list"
)]
5
protected
ref array<ref SCR_GroupTaskRelevance>
m_aGroupTaskRelevanceList
;
6
7
//------------------------------------------------------------------------------------------------
10
SCR_GroupTaskRelevance
GetGroupTaskRelevance
(
typename
taskTypename)
11
{
12
if
(!taskTypename || taskTypename ==
typename
.Empty)
13
return
null;
14
15
foreach
(SCR_GroupTaskRelevance groupTaskRelevance :
m_aGroupTaskRelevanceList
)
16
{
17
if
(taskTypename == groupTaskRelevance.GetTaskTypename())
18
return
groupTaskRelevance;
19
}
20
21
return
null;
22
}
23
}
24
25
[
BaseContainerProps
(),
SCR_BaseContainerCustomTitleField
(
"m_sTaskTypename"
)]
26
class
SCR_GroupTaskRelevance
27
{
28
[
Attribute
(
desc
:
"Typename of SCR_Task class"
)]
29
protected
string
m_sTaskTypename;
30
31
[
Attribute
(
"1"
,
desc
:
"If is checked, task is visible to all groups"
)]
32
protected
bool
m_bIsTaskVisibleToAllGroups;
33
34
[
Attribute
(
desc
:
"List with relevant group roles for the task defined by typename"
)]
35
protected
ref array<ref SCR_GroupRoleRelevance> m_aOrderedGroupRoleRelevanceList;
36
37
//------------------------------------------------------------------------------------------------
39
typename
GetTaskTypename()
40
{
41
return
m_sTaskTypename.ToType();
42
}
43
44
//------------------------------------------------------------------------------------------------
47
int
GetOrderedGroupRoleRelevanceList(out array<ref SCR_GroupRoleRelevance> relevanceList)
48
{
49
relevanceList = m_aOrderedGroupRoleRelevanceList;
50
51
return
m_aOrderedGroupRoleRelevanceList.Count();
52
}
53
54
//------------------------------------------------------------------------------------------------
57
bool
IsTaskVisibleForGroup(notnull
SCR_AIGroup
group)
58
{
59
if
(m_bIsTaskVisibleToAllGroups)
60
return
true
;
61
62
SCR_EGroupRole
groupRole = group.GetGroupRole();
63
foreach
(
SCR_GroupRoleRelevance
groupRoleRelevance : m_aOrderedGroupRoleRelevanceList)
64
{
65
if
(groupRoleRelevance.GetGroupRole() == groupRole)
66
return
groupRoleRelevance.IsTaskVisible();
67
}
68
69
return
false
;
70
}
71
72
//------------------------------------------------------------------------------------------------
75
bool
IsTaskExecutableByGroup(notnull
SCR_AIGroup
group)
76
{
77
SCR_EGroupRole
groupRole = group.GetGroupRole();
78
foreach
(
SCR_GroupRoleRelevance
groupRoleRelevance : m_aOrderedGroupRoleRelevanceList)
79
{
80
if
(groupRoleRelevance.GetGroupRole() == groupRole)
81
return
groupRoleRelevance.IsGroupExecutor();
82
}
83
84
return
false
;
85
}
86
}
87
88
[
BaseContainerProps
(),
SCR_BaseContainerCustomTitleEnum
(
SCR_EGroupRole
,
"m_eGroupRole"
)]
89
class
SCR_GroupRoleRelevance
90
{
91
[
Attribute
(uiwidget:
UIWidgets
.ComboBox, enumType:
SCR_EGroupRole
)]
92
protected
SCR_EGroupRole
m_eGroupRole
;
93
94
[
Attribute
(
"1"
,
desc
:
"Task visibility for this group role"
)]
95
protected
bool
m_bIsTaskVisible
;
96
97
[
Attribute
(
"1"
,
desc
:
"Task executability for this group role"
)]
98
protected
bool
m_bIsGroupExecutor
;
99
100
//------------------------------------------------------------------------------------------------
102
SCR_EGroupRole
GetGroupRole
()
103
{
104
return
m_eGroupRole
;
105
}
106
107
//------------------------------------------------------------------------------------------------
109
bool
IsTaskVisible
()
110
{
111
return
m_bIsTaskVisible
;
112
}
113
114
//------------------------------------------------------------------------------------------------
116
bool
IsGroupExecutor
()
117
{
118
return
m_bIsGroupExecutor
;
119
}
120
}
SCR_BaseContainerCustomTitleEnum
class SCR_CampaignHintStorage SCR_BaseContainerCustomTitleEnum(EHint, "m_eHintId")
Definition
SCR_CampaignHintStorage.c:22
SCR_EGroupRole
SCR_EGroupRole
Group roles.
Definition
SCR_EGroupRole.c:3
SCR_BaseContainerCustomTitleField
class SCR_GroupTaskRelevanceConfig SCR_BaseContainerCustomTitleField("m_sTaskTypename")
Definition
SCR_GroupTaskRelevanceConfig.c:25
BaseContainerProps
class SCR_GroupTaskRelevanceConfig BaseContainerProps()
desc
UI Textures DeployMenu Briefing conflict_HintBanner_1_UI desc
Definition
SCR_RespawnBriefingComponent.c:17
SCR_AIGroup
Definition
SCR_AIGroup.c:75
SCR_GroupRoleRelevance
Definition
SCR_GroupTaskRelevanceConfig.c:90
SCR_GroupRoleRelevance::m_bIsGroupExecutor
bool m_bIsGroupExecutor
Definition
SCR_GroupTaskRelevanceConfig.c:98
SCR_GroupRoleRelevance::IsGroupExecutor
bool IsGroupExecutor()
Definition
SCR_GroupTaskRelevanceConfig.c:116
SCR_GroupRoleRelevance::GetGroupRole
SCR_EGroupRole GetGroupRole()
Definition
SCR_GroupTaskRelevanceConfig.c:102
SCR_GroupRoleRelevance::m_bIsTaskVisible
bool m_bIsTaskVisible
Definition
SCR_GroupTaskRelevanceConfig.c:95
SCR_GroupRoleRelevance::m_eGroupRole
SCR_EGroupRole m_eGroupRole
Definition
SCR_GroupTaskRelevanceConfig.c:92
SCR_GroupRoleRelevance::IsTaskVisible
bool IsTaskVisible()
Definition
SCR_GroupTaskRelevanceConfig.c:109
SCR_GroupTaskRelevanceConfig
Definition
SCR_GroupTaskRelevanceConfig.c:3
SCR_GroupTaskRelevanceConfig::m_aGroupTaskRelevanceList
ref array< ref SCR_GroupTaskRelevance > m_aGroupTaskRelevanceList
Definition
SCR_GroupTaskRelevanceConfig.c:5
SCR_GroupTaskRelevanceConfig::GetGroupTaskRelevance
SCR_GroupTaskRelevance GetGroupTaskRelevance(typename taskTypename)
Definition
SCR_GroupTaskRelevanceConfig.c:10
UIWidgets
Definition
attributes.c:40
Attribute
SCR_FieldOfViewSettings Attribute
Definition
SendGoalMessage.c:170
scripts
Game
Tasks
Configs
SCR_GroupTaskRelevanceConfig.c
Generated by
1.17.0