Arma Reforger Explorer 1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Loading...
Searching...
No Matches
SCR_AddonUpdateConfirmationDialog.c
Go to the documentation of this file.
1
7
8//------------------------------------------------------------------------------------------------
10{
11 //------------------------------------------------------------------------------------------------
13 static SCR_AddonUpdateConfirmationDialog CreateForUpdates(notnull array<ref Tuple2<SCR_WorkshopItem, ref Revision>> addonsAndVersions, bool subscribeToAddons)
14 {
16
17 SetupDownloadDialogAddons(dlg, addonsAndVersions, subscribeToAddons);
18
19 SCR_ConfigurableDialogUi.CreateFromPreset(SCR_WorkshopDialogs.DIALOGS_CONFIG, "download_confirmation", dlg);
20
22
23 return SCR_AddonUpdateConfirmationDialog.Cast(dlg);
24 }
25
26 //------------------------------------------------------------------------------------------------
27 protected override void CreateAddonList()
28 {
29 // Create lines for other addons
30 m_Widgets.m_OtherAddonsSection.SetVisible(!m_aDependencies.IsEmpty());
31 if (!m_aDependencies.IsEmpty())
32 {
33 // Not downloaded - not avaiable offline
34 array<ref SCR_WorkshopItem> missingAddons = SCR_AddonManager.SelectItemsBasic(m_aDependencies, EWorkshopItemQuery.NOT_OFFLINE);
35
36 foreach (SCR_WorkshopItem missing : missingAddons)
37 {
38 CreateAddonWidget(missing, m_Widgets.m_OtherAddonsList);
39 }
40
41 // Version difference
42 array<ref SCR_WorkshopItem> versionDifferences = SCR_AddonManager.SelectItemsAnd(
44 EWorkshopItemQuery.UPDATE_AVAILABLE | EWorkshopItemQuery.OFFLINE);
45
46 int vDifCount = versionDifferences.Count();
47 bool hasDifference = vDifCount > 0;
48
49 // Display version difference widgets
50 m_Widgets.m_UpdateAddonsList.SetVisible(hasDifference);
51 m_Widgets.m_UpdateAddonsMessage.SetVisible(hasDifference);
52
53 if (hasDifference)
54 {
55 // Create woidgets
56 foreach (SCR_WorkshopItem addon : versionDifferences)
57 {
58 if (!addon.IsDownloadRunning())
59 CreateAddonWidget(addon, m_Widgets.m_UpdateAddonsList);
60 }
61
62 // Version change text
63 m_Widgets.m_UpdateAddonsMessage.SetTextFormat("#AR-Workshop_Dialog_ConfirmDownload_VersionDifferences", vDifCount);
64 }
65 }
66 }
67
68 //------------------------------------------------------------------------------------------------
70 protected override void CreateAddonWidget(notnull SCR_WorkshopItem dep, Widget listRoot)
71 {
72 Widget w = GetGame().GetWorkspace().CreateWidgets(DOWNLOAD_LINE_LAYOUT, listRoot);
74
75 // Setup addon revision
76 Revision revision = dep.GetLatestRevision();
77
78 //Revision revision = dep.GetDependency().GetRevision();
79 comp.InitForWorkshopItem(dep, revision);
80 }
81}
ArmaReforgerScripted GetGame()
Definition game.c:1398
EWorkshopItemQuery
static array< ref SCR_WorkshopItem > SelectItemsBasic(array< ref SCR_WorkshopItem > items, EWorkshopItemQuery query)
static array< ref SCR_WorkshopItem > SelectItemsAnd(array< ref SCR_WorkshopItem > items, EWorkshopItemQuery query)
override void CreateAddonWidget(notnull SCR_WorkshopItem dep, Widget listRoot)
Create and setup addon widget text and verions.
static SCR_ConfigurableDialogUi CreateFromPreset(ResourceName presetsResourceName, string tag, SCR_ConfigurableDialogUi customDialogObj=null)
Creates a dialog from preset.
Dialog for confirming multiple downloads in workshop.
static void SetupDownloadDialogAddons(notnull out SCR_DownloadConfirmationDialog dialog, notnull array< ref Tuple2< SCR_WorkshopItem, ref Revision > > addonsAndVersions, bool subscribeToAddons)
void SetStyleDownloadAddons()
Hides all explanation text.
ref SCR_DownloadConfirmationDialogContentWidgets m_Widgets
ref array< ref SCR_WorkshopItem > m_aDependencies
void InitForWorkshopItem(SCR_WorkshopItem item, Revision versionTo=null, bool showVersionAndSize=true)
Initializes the line in passive mode. It will just show basic information once.