Arma Reforger Explorer 1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Loading...
Searching...
No Matches
SCR_ModDetailsSuperMenuComponent.c
Go to the documentation of this file.
7
8class SCR_ModDetailsSuperMenuComponent : SCR_SuperMenuComponent
9{
11 protected ref array<ref SCR_WorkshopItem> m_aDependencies = {};
12 protected ref array<ref SCR_WorkshopItem> m_aDependent = {};
13
14 //------------------------------------------------------------------------------------------------
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)
22
23 if (index == SCR_EModDetailsMenuTabs.DEPENDENT)
25
26 return subMenu;
27 }
28
29 //------------------------------------------------------------------------------------------------
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
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 //------------------------------------------------------------------------------------------------
64 {
65 if (!item)
66 return;
67
69 m_WorkshopItem.m_OnDependenciesLoaded.Remove(OnDetailsLoaded);
70
71 m_WorkshopItem = item;
72 m_WorkshopItem.m_OnDependenciesLoaded.Insert(OnDetailsLoaded);
73
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
87 }
88
89 //------------------------------------------------------------------------------------------------
90 // Called when we have received dependencies
91 protected void OnDetailsLoaded(SCR_WorkshopItem item)
92 {
93 // Details tab - Created at start
95 if (detailsSubMenu)
96 detailsSubMenu.SetWorkshopItem(item);
97
98 // Dependencies tab - Created on tab button click
100 if (!m_aDependencies.IsEmpty())
101 GetTabView().EnableTab(SCR_EModDetailsMenuTabs.DEPENDENCY, true);
102
103 // Dependent tab
105 if (!m_aDependent.IsEmpty())
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}
SCR_DestructionSynchronizationComponentClass ScriptComponentClass int index
ref array< ref SCR_WorkshopItem > m_aDependencies
ref array< ref SCR_WorkshopItem > m_aDependent
void OnDetailsLoaded(SCR_WorkshopItem item)
enum SCR_EModDetailsMenuTabs m_WorkshopItem
void SetWorkshopItem(SCR_WorkshopItem item)
override void OnTabShow()
void OnTabCreate(Widget menuRoot, ResourceName buttonsLayout, int index)
SCR_SubMenuBase OnTabCreate(SCR_TabViewComponent comp, Widget w, int index)
SCR_TabViewComponent GetTabView()
SCR_SubMenuBase GetSubMenu(int index)
void EnableTab(int tabIndex, bool enable, bool animate=true)
array< ref SCR_WorkshopItem > GetLatestDependencies()
Returns array of dependencies.
static array< ref SCR_WorkshopItem > GetDownloadedDependentAddons(notnull SCR_WorkshopItem item)