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_ModDetailsSuperMenuComponent.c
Go to the documentation of this file.
1
enum
SCR_EModDetailsMenuTabs
2
{
3
OVERVIEW
= 0,
4
DEPENDENCY
,
5
DEPENDENT
6
}
7
8
class
SCR_ModDetailsSuperMenuComponent :
SCR_SuperMenuComponent
9
{
10
protected
SCR_WorkshopItem
m_WorkshopItem
;
11
protected
ref array<ref SCR_WorkshopItem>
m_aDependencies
= {};
12
protected
ref array<ref SCR_WorkshopItem>
m_aDependent
= {};
13
14
//------------------------------------------------------------------------------------------------
15
override
SCR_SubMenuBase
OnTabCreate
(
SCR_TabViewComponent
comp,
Widget
w,
int
index
)
16
{
17
SCR_SubMenuBase
subMenu = super.
OnTabCreate
(comp, w,
index
);
18
19
// Dependencies tab is created only on click
20
if
(
index
==
SCR_EModDetailsMenuTabs
.DEPENDENCY)
21
InitDependenciesTab
();
22
23
if
(
index
==
SCR_EModDetailsMenuTabs
.DEPENDENT)
24
InitDependentTab
();
25
26
return
subMenu;
27
}
28
29
//------------------------------------------------------------------------------------------------
30
override
SCR_SubMenuBase
OnTabShow
(
SCR_TabViewComponent
comp,
Widget
w)
31
{
32
SCR_SubMenuBase
subMenu = super.
OnTabShow
(comp, w);
33
//SCR_AnalyticsApplication.GetInstance().ModDetailsSetTab(subMenu.GetIndex());
34
return
subMenu;
35
}
36
37
//------------------------------------------------------------------------------------------------
38
override
void
OnMenuShow
()
39
{
40
super.
OnMenuShow
();
41
42
//SCR_AnalyticsApplication.GetInstance().OpenModDetails();
43
}
44
45
//------------------------------------------------------------------------------------------------
46
override
void
OnMenuClose
()
47
{
48
super.OnMenuClose();
49
50
if
(
m_WorkshopItem
)
51
m_WorkshopItem
.m_OnDependenciesLoaded.Remove(
OnDetailsLoaded
);
52
}
53
54
//------------------------------------------------------------------------------------------------
55
override
void
OnMenuHide
()
56
{
57
super.OnMenuHide();
58
59
//SCR_AnalyticsApplication.GetInstance().CloseModDetails();
60
}
61
62
//------------------------------------------------------------------------------------------------
63
void
SetWorkshopItem
(
SCR_WorkshopItem
item)
64
{
65
if
(!item)
66
return
;
67
68
if
(
m_WorkshopItem
)
69
m_WorkshopItem
.m_OnDependenciesLoaded.Remove(
OnDetailsLoaded
);
70
71
m_WorkshopItem
= item;
72
m_WorkshopItem
.m_OnDependenciesLoaded.Insert(
OnDetailsLoaded
);
73
74
LoadItemDetails
();
75
}
76
77
//------------------------------------------------------------------------------------------------
78
protected
void
LoadItemDetails
()
79
{
80
if
(!
m_WorkshopItem
)
81
return
;
82
83
if
(!
m_WorkshopItem
.GetDetailsLoaded())
84
m_WorkshopItem
.LoadDetails();
85
86
OnDetailsLoaded
(
m_WorkshopItem
);
87
}
88
89
//------------------------------------------------------------------------------------------------
90
// Called when we have received dependencies
91
protected
void
OnDetailsLoaded
(
SCR_WorkshopItem
item)
92
{
93
// Details tab - Created at start
94
SCR_ContentBrowserDetails_OverviewSubMenu
detailsSubMenu =
SCR_ContentBrowserDetails_OverviewSubMenu
.Cast(
GetSubMenu
(
SCR_EModDetailsMenuTabs
.OVERVIEW));
95
if
(detailsSubMenu)
96
detailsSubMenu.
SetWorkshopItem
(item);
97
98
// Dependencies tab - Created on tab button click
99
m_aDependencies
= item.
GetLatestDependencies
();
100
if
(!
m_aDependencies
.IsEmpty())
101
GetTabView
().
EnableTab
(
SCR_EModDetailsMenuTabs
.DEPENDENCY,
true
);
102
103
// Dependent tab
104
m_aDependent
=
SCR_WorkshopUiCommon
.
GetDownloadedDependentAddons
(item);
105
if
(!
m_aDependent
.IsEmpty())
106
GetTabView
().
EnableTab
(
SCR_EModDetailsMenuTabs
.DEPENDENT,
true
);
107
}
108
109
//------------------------------------------------------------------------------------------------
110
protected
void
InitDependenciesTab
()
111
{
112
if
(
m_aDependencies
.IsEmpty())
113
return
;
114
115
SCR_ContentBrowser_AddonsSubMenu dependencySubMenu = SCR_ContentBrowser_AddonsSubMenu.Cast(
GetSubMenu
(
SCR_EModDetailsMenuTabs
.DEPENDENCY));
116
if
(dependencySubMenu)
117
dependencySubMenu.SetWorkshopItems(
m_aDependencies
);
118
}
119
120
//------------------------------------------------------------------------------------------------
121
protected
void
InitDependentTab
()
122
{
123
if
(
m_aDependent
.IsEmpty())
124
return
;
125
126
SCR_ContentBrowser_AddonsSubMenu dependentSubMenu = SCR_ContentBrowser_AddonsSubMenu.Cast(
GetSubMenu
(
SCR_EModDetailsMenuTabs
.DEPENDENT));
127
if
(dependentSubMenu)
128
dependentSubMenu.SetWorkshopItems(
m_aDependent
);
129
}
130
}
index
SCR_DestructionSynchronizationComponentClass ScriptComponentClass int index
Definition
SCR_DestructionSynchronizationComponent.c:17
m_aDependencies
ref array< ref SCR_WorkshopItem > m_aDependencies
Definition
SCR_ModDetailsSuperMenuComponent.c:11
InitDependentTab
void InitDependentTab()
Definition
SCR_ModDetailsSuperMenuComponent.c:121
InitDependenciesTab
void InitDependenciesTab()
Definition
SCR_ModDetailsSuperMenuComponent.c:110
SCR_EModDetailsMenuTabs
SCR_EModDetailsMenuTabs
Definition
SCR_ModDetailsSuperMenuComponent.c:2
DEPENDENCY
@ DEPENDENCY
Definition
SCR_ModDetailsSuperMenuComponent.c:4
OVERVIEW
@ OVERVIEW
Definition
SCR_ModDetailsSuperMenuComponent.c:3
DEPENDENT
@ DEPENDENT
Definition
SCR_ModDetailsSuperMenuComponent.c:5
m_aDependent
ref array< ref SCR_WorkshopItem > m_aDependent
Definition
SCR_ModDetailsSuperMenuComponent.c:12
OnDetailsLoaded
void OnDetailsLoaded(SCR_WorkshopItem item)
Definition
SCR_ModDetailsSuperMenuComponent.c:91
m_WorkshopItem
enum SCR_EModDetailsMenuTabs m_WorkshopItem
LoadItemDetails
void LoadItemDetails()
Definition
SCR_ModDetailsSuperMenuComponent.c:78
SetWorkshopItem
void SetWorkshopItem(SCR_WorkshopItem item)
Definition
SCR_ModDetailsSuperMenuComponent.c:63
OnTabShow
override void OnTabShow()
Definition
SCR_NewsSubMenu.c:48
SCR_ContentBrowserDetails_OverviewSubMenu
Definition
SCR_ContentBrowserDetails_OverviewSubMenu.c:6
SCR_ContentBrowserDetails_OverviewSubMenu::SetWorkshopItem
void SetWorkshopItem(SCR_WorkshopItem item)
Definition
SCR_ContentBrowserDetails_OverviewSubMenu.c:25
SCR_SubMenuBase
Definition
SCR_SubMenuBase.c:7
SCR_SubMenuBase::OnTabShow
void OnTabShow()
Definition
SCR_SubMenuBase.c:57
SCR_SubMenuBase::OnMenuShow
void OnMenuShow()
SCR_SubMenuBase::OnTabCreate
void OnTabCreate(Widget menuRoot, ResourceName buttonsLayout, int index)
Definition
SCR_SubMenuBase.c:47
SCR_SuperMenuComponent
Definition
SCR_SuperMenuComponent.c:11
SCR_SuperMenuComponent::OnMenuShow
void OnMenuShow()
Definition
SCR_SuperMenuComponent.c:77
SCR_SuperMenuComponent::OnMenuClose
void OnMenuClose()
Definition
SCR_SuperMenuComponent.c:112
SCR_SuperMenuComponent::OnTabCreate
SCR_SubMenuBase OnTabCreate(SCR_TabViewComponent comp, Widget w, int index)
Definition
SCR_SuperMenuComponent.c:128
SCR_SuperMenuComponent::GetTabView
SCR_TabViewComponent GetTabView()
Definition
SCR_SuperMenuComponent.c:226
SCR_SuperMenuComponent::OnMenuHide
void OnMenuHide()
Definition
SCR_SuperMenuComponent.c:84
SCR_SuperMenuComponent::GetSubMenu
SCR_SubMenuBase GetSubMenu(int index)
Definition
SCR_SuperMenuComponent.c:245
SCR_TabViewComponent
Definition
SCR_TabViewComponent.c:14
SCR_TabViewComponent::EnableTab
void EnableTab(int tabIndex, bool enable, bool animate=true)
Definition
SCR_TabViewComponent.c:767
SCR_WorkshopItem
Definition
SCR_WorkshopItem.c:28
SCR_WorkshopItem::GetLatestDependencies
array< ref SCR_WorkshopItem > GetLatestDependencies()
Returns array of dependencies.
Definition
SCR_WorkshopItem.c:238
SCR_WorkshopUiCommon
Definition
SCR_WorkshopUiCommon.c:6
SCR_WorkshopUiCommon::GetDownloadedDependentAddons
static array< ref SCR_WorkshopItem > GetDownloadedDependentAddons(notnull SCR_WorkshopItem item)
Definition
SCR_WorkshopUiCommon.c:607
Widget
Definition
Widget.c:13
scripts
Game
UI
Menu
ContentBrowser
DetailsMenu
SCR_ModDetailsSuperMenuComponent.c
Generated by
1.17.0