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_ArsenalItemListConfig.c
Go to the documentation of this file.
1
[
BaseContainerProps
(configRoot:
true
)]
2
class
SCR_ArsenalItemListConfig
3
{
4
[
Attribute
(
""
,
UIWidgets
.Object)]
5
protected
ref array<ref SCR_ArsenalItemStandalone>
m_aArsenalItems
;
6
7
protected
ref
map<SCR_EArsenalItemType, ref array<SCR_ArsenalItem>
>
m_mArsenalItemsByType
=
new
map<SCR_EArsenalItemType, ref array<SCR_ArsenalItem>
>();
8
9
//------------------------------------------------------------------------------------------------
12
bool
GetArsenalItems
(out array<ref SCR_ArsenalItemStandalone> arsenalItems)
13
{
14
arsenalItems =
m_aArsenalItems
;
15
return
arsenalItems != null && !arsenalItems.IsEmpty();
16
}
17
18
//------------------------------------------------------------------------------------------------
23
bool
GetItemTypeAndModeForPrefab
(
ResourceName
prefab, out
SCR_EArsenalItemType
itemType, out
SCR_EArsenalItemMode
itemMode)
24
{
25
if
(
SCR_StringHelper
.
IsEmptyOrWhiteSpace
(prefab))
26
return
false
;
27
28
for
(
int
i = 0, count =
m_aArsenalItems
.Count(); i < count; i++)
29
{
30
SCR_ArsenalItem
item =
m_aArsenalItems
[i];
31
if
(item.
GetItemResourceName
() == prefab)
32
{
33
itemType = item.
GetItemType
();
34
itemMode = item.
GetItemMode
();
35
return
true
;
36
}
37
}
38
return
false
;
39
}
40
41
//------------------------------------------------------------------------------------------------
49
array<SCR_ArsenalItem>
GetFilteredArsenalItems
(
SCR_EArsenalItemType
typeFilter,
SCR_EArsenalItemMode
modeFilter, EArsenalItemDisplayType requiresDisplayType = -1,
SCR_Faction
checkFaction = null)
50
{
51
array<SCR_ArsenalItem> filteredItems =
new
array<SCR_ArsenalItem>();
52
53
array<SCR_ArsenalItem> itemsByType =
m_mArsenalItemsByType
.Get(typeFilter);
54
if
(!itemsByType)
55
{
56
itemsByType =
new
array<SCR_ArsenalItem>();
57
array<ref SCR_ArsenalItemStandalone> availableArsenalItems;
58
if
(
GetArsenalItems
(availableArsenalItems))
59
{
60
for
(
int
i = 0, count = availableArsenalItems.Count(); i < count; i++)
61
{
62
//~ Ignore if no required display data
63
if
(requiresDisplayType != -1 && !availableArsenalItems[i].
GetDisplayDataOfType
(requiresDisplayType))
64
continue
;
65
66
if
(availableArsenalItems[i].
GetItemType
() & typeFilter)
67
{
68
itemsByType.Insert(availableArsenalItems[i]);
69
}
70
}
71
72
m_mArsenalItemsByType
.Insert(typeFilter, itemsByType);
73
}
74
}
75
76
//~ Get the catalog if a faction is given
77
SCR_EntityCatalog
catalog;
78
if
(checkFaction)
79
catalog = checkFaction.GetFactionEntityCatalogOfType(
EEntityCatalogType
.ITEM,
false
);
80
81
foreach
(
SCR_ArsenalItem
item : itemsByType)
82
{
83
if
(item.GetItemMode() & modeFilter)
84
{
85
//~ Check if item is part of faction
86
if
(catalog && !catalog.
GetEntryWithPrefab
(item.GetItemResourceName()))
87
continue
;
88
89
filteredItems.Insert(item);
90
}
91
}
92
93
return
filteredItems;
94
}
95
96
//------------------------------------------------------------------------------------------------
100
bool
GetItemModeForPrefab
(
ResourceName
prefab, out
SCR_EArsenalItemType
itemMode)
101
{
102
for
(
int
i = 0, count =
m_aArsenalItems
.Count(); i < count; i++)
103
{
104
SCR_ArsenalItem
item =
m_aArsenalItems
[i];
105
if
(item.
GetItemResourceName
() == prefab)
106
{
107
itemMode = item.
GetItemMode
();
108
return
true
;
109
}
110
}
111
return
false
;
112
}
113
114
//------------------------------------------------------------------------------------------------
118
bool
GetUseMilitarySupplyAllocationForPrefab
(
ResourceName
prefab, out
SCR_EArsenalItemType
itemUseMilitarySupplyAllocation)
119
{
120
for
(
int
i = 0, count =
m_aArsenalItems
.Count(); i < count; i++)
121
{
122
SCR_ArsenalItem
item =
m_aArsenalItems
[i];
123
if
(item.
GetItemResourceName
() == prefab)
124
{
125
itemUseMilitarySupplyAllocation = item.
GetUseMilitarySupplyAllocation
();
126
return
true
;
127
}
128
}
129
130
return
false
;
131
}
132
}
EEntityCatalogType
EEntityCatalogType
Definition
EEntityCatalogType.c:5
BaseContainerProps
SCR_AIAnimation_Loitering BaseContainerProps
Commanding menu commanding element class.
Definition
SCR_AIAnimationWaypoint.c:14
GetDisplayDataOfType
SCR_ArsenalItemDisplayData GetDisplayDataOfType(EArsenalItemDisplayType displayType)
Definition
SCR_ArsenalItem.c:75
GetItemType
SCR_EArsenalItemType GetItemType()
Definition
SCR_ArsenalItem.c:35
SCR_EArsenalItemMode
SCR_EArsenalItemMode
Definition
SCR_EArsenalItemMode.c:2
SCR_EArsenalItemType
SCR_EArsenalItemType
Definition
SCR_EArsenalItemType.c:3
ResourceName
Definition
ResourceName.c:13
SCR_ArsenalItem
Definition
SCR_ArsenalItem.c:3
SCR_ArsenalItem::GetItemType
SCR_EArsenalItemType GetItemType()
Definition
SCR_ArsenalItem.c:39
SCR_ArsenalItem::GetUseMilitarySupplyAllocation
bool GetUseMilitarySupplyAllocation()
Definition
SCR_ArsenalItem.c:99
SCR_ArsenalItem::GetItemResourceName
ResourceName GetItemResourceName()
Definition
SCR_ArsenalItem.c:60
SCR_ArsenalItem::GetItemMode
SCR_EArsenalItemMode GetItemMode()
Definition
SCR_ArsenalItem.c:46
SCR_ArsenalItemListConfig
Definition
SCR_ArsenalItemListConfig.c:3
SCR_ArsenalItemListConfig::GetArsenalItems
bool GetArsenalItems(out array< ref SCR_ArsenalItemStandalone > arsenalItems)
Definition
SCR_ArsenalItemListConfig.c:12
SCR_ArsenalItemListConfig::GetFilteredArsenalItems
array< SCR_ArsenalItem > GetFilteredArsenalItems(SCR_EArsenalItemType typeFilter, SCR_EArsenalItemMode modeFilter, EArsenalItemDisplayType requiresDisplayType=-1, SCR_Faction checkFaction=null)
Definition
SCR_ArsenalItemListConfig.c:49
SCR_ArsenalItemListConfig::GetUseMilitarySupplyAllocationForPrefab
bool GetUseMilitarySupplyAllocationForPrefab(ResourceName prefab, out SCR_EArsenalItemType itemUseMilitarySupplyAllocation)
Definition
SCR_ArsenalItemListConfig.c:118
SCR_ArsenalItemListConfig::GetItemModeForPrefab
bool GetItemModeForPrefab(ResourceName prefab, out SCR_EArsenalItemType itemMode)
Definition
SCR_ArsenalItemListConfig.c:100
SCR_ArsenalItemListConfig::GetItemTypeAndModeForPrefab
bool GetItemTypeAndModeForPrefab(ResourceName prefab, out SCR_EArsenalItemType itemType, out SCR_EArsenalItemMode itemMode)
Definition
SCR_ArsenalItemListConfig.c:23
SCR_ArsenalItemListConfig::m_aArsenalItems
ref array< ref SCR_ArsenalItemStandalone > m_aArsenalItems
Definition
SCR_ArsenalItemListConfig.c:5
SCR_ArsenalItemListConfig::m_mArsenalItemsByType
ref map< SCR_EArsenalItemType, ref array< SCR_ArsenalItem > > m_mArsenalItemsByType
Definition
SCR_ArsenalItemListConfig.c:7
SCR_EntityCatalog
Definition
SCR_EntityCatalog.c:182
SCR_EntityCatalog::GetEntryWithPrefab
SCR_EntityCatalogEntry GetEntryWithPrefab(ResourceName prefabToFind)
Definition
SCR_EntityCatalog.c:231
SCR_Faction
Definition
SCR_Faction.c:6
SCR_StringHelper
Definition
SCR_StringHelper.c:2
SCR_StringHelper::IsEmptyOrWhiteSpace
static bool IsEmptyOrWhiteSpace(string input)
Definition
SCR_StringHelper.c:594
UIWidgets
Definition
attributes.c:40
map
Definition
Types.c:486
Attribute
SCR_FieldOfViewSettings Attribute
Definition
SendGoalMessage.c:170
scripts
Game
Components
Arsenal
SCR_ArsenalItemListConfig.c
Generated by
1.17.0