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_AddonsExportSubMenuComponent.c
Go to the documentation of this file.
1
5
6
enum
EAddonExportFormat
7
{
8
JSON
,
9
CLI
10
}
11
12
class
SCR_AddonsExportSubMenuComponent :
SCR_SubMenuBase
13
{
14
[
Attribute
(
"0"
, UIWidgets.ComboBox,
"Used format for submenu"
,
""
, ParamEnumArray.FromEnum(
EAddonExportFormat
))]
15
protected
EAddonExportFormat
m_iUsedFormat;
16
17
protected
ref
SCR_AddonsExportSubMenuWidgets
m_Widgets
=
new
SCR_AddonsExportSubMenuWidgets
();
18
19
protected
string
m_sGeneratedText
;
20
21
protected
SCR_InputButtonComponent
m_NavCopyComponent
;
22
23
//---------------------------------------------------------------------------------------------------
24
// Override
25
//---------------------------------------------------------------------------------------------------
26
//---------------------------------------------------------------------------------------------------
27
override
void
HandlerAttached
(
Widget
w)
28
{
29
super.HandlerAttached(w);
30
31
m_Widgets
.Init(w);
32
}
33
34
//---------------------------------------------------------------------------------------------------
35
override
void
OnTabShow
()
36
{
37
super.OnTabShow();
38
39
if
(!
m_NavCopyComponent
)
40
{
41
m_NavCopyComponent
=
CreateNavigationButton
(
UIConstants
.MENU_ACTION_SELECT,
"#AR-Workshop_AddonsExportCopyBtn"
,
true
);
42
m_NavCopyComponent
.m_OnActivated.Insert(
CopyToClipboard
);
43
}
44
45
switch
(m_iUsedFormat)
46
{
47
case
EAddonExportFormat
.JSON:
GenerateJSONFormat
();
break
;
48
case
EAddonExportFormat
.CLI:
GenerateCLIFormat
();
break
;
49
}
50
}
51
52
//---------------------------------------------------------------------------------------------------
53
// Protected
54
//---------------------------------------------------------------------------------------------------
55
//---------------------------------------------------------------------------------------------------
57
protected
void
DisplayText
(
string
text)
58
{
59
m_Widgets
.m_GenContent.SetText(text);
60
m_Widgets
.m_ScrollLayout.SetSliderPos(0,0);
61
}
62
63
//------------------------------------------------------------------------------------------------
65
protected
string
GenerateAddonJson
(
SCR_WorkshopItem
item)
66
{
67
return
string
.Format(
68
"\t{\n\t\t\%1: %2,\n\t\t%3: %4,\n\t\t%5: %6\n\t}"
,
69
qstr(
"modId"
), qstr(item.
GetId
()),
70
qstr(
"name"
), qstr(item.
GetName
()),
71
qstr(
"version"
), qstr(item.
GetCurrentLocalRevision
().GetVersion()) );
72
}
73
74
// Puts quotes around a string
75
static
string
qstr(
string
s)
76
{
77
return
string
.Format(
"\"%1\""
, s);
78
}
79
80
//---------------------------------------------------------------------------------------------------
81
// Actions
82
//---------------------------------------------------------------------------------------------------
83
//---------------------------------------------------------------------------------------------------
85
void
GenerateJSONFormat
()
86
{
87
auto
offlineAddons =
SCR_AddonManager
.
GetInstance
().
GetOfflineAddons
();
88
array<ref SCR_WorkshopItem> enabledAddons =
SCR_AddonManager
.
SelectItemsBasic
(offlineAddons,
EWorkshopItemQuery
.ENABLED);
89
90
string
s;
91
92
if
(!enabledAddons.IsEmpty())
93
{
94
s = s +
GenerateAddonJson
(enabledAddons[0]);
95
96
for
(
int
i = 1; i < enabledAddons.Count(); i++)
97
s = s +
",\n"
+
GenerateAddonJson
(enabledAddons[i]);
98
}
99
100
m_sGeneratedText
= s;
101
DisplayText
(
m_sGeneratedText
);
102
}
103
104
//---------------------------------------------------------------------------------------------------
106
void
GenerateCLIFormat
()
107
{
108
string
cli =
"-addons "
;
109
110
auto
offlineAddons =
SCR_AddonManager
.
GetInstance
().
GetOfflineAddons
();
111
array<ref SCR_WorkshopItem> enabledAddons =
SCR_AddonManager
.
SelectItemsBasic
(offlineAddons,
EWorkshopItemQuery
.ENABLED);
112
113
if
(!enabledAddons.IsEmpty())
114
{
115
cli = cli + enabledAddons[0].GetId();
116
for
(
int
i = 1; i < enabledAddons.Count(); i++)
117
cli = cli +
", "
+ enabledAddons[i].GetId();
118
}
119
120
m_sGeneratedText
= cli;
121
DisplayText
(
m_sGeneratedText
);
122
}
123
124
//---------------------------------------------------------------------------------------------------
126
void
CopyToClipboard
()
127
{
128
System
.ExportToClipboard(
m_sGeneratedText
);
129
}
130
131
//---------------------------------------------------------------------------------------------------
132
// API
133
//---------------------------------------------------------------------------------------------------
134
//---------------------------------------------------------------------------------------------------
135
string
GetGeneratedText
()
136
{
137
return
m_sGeneratedText
;
138
}
139
}
EWorkshopItemQuery
EWorkshopItemQuery
Definition
SCR_AddonManager.c:35
GenerateAddonJson
string GenerateAddonJson(SCR_WorkshopItem item)
Generate text of addon in json config format.
Definition
SCR_AddonsExportSubMenuComponent.c:65
m_NavCopyComponent
SCR_InputButtonComponent m_NavCopyComponent
Definition
SCR_AddonsExportSubMenuComponent.c:21
GenerateCLIFormat
void GenerateCLIFormat()
Generate text with list of enabled addons ids.
Definition
SCR_AddonsExportSubMenuComponent.c:106
JSON
JSON
Definition
SCR_AddonsExportSubMenuComponent.c:0
DisplayText
void DisplayText(string text)
Display text in widgets.
Definition
SCR_AddonsExportSubMenuComponent.c:57
GenerateJSONFormat
void GenerateJSONFormat()
Generate text for enbled addons in json format for server config.
Definition
SCR_AddonsExportSubMenuComponent.c:85
CLI
CLI
Definition
SCR_AddonsExportSubMenuComponent.c:2
GetGeneratedText
string GetGeneratedText()
Definition
SCR_AddonsExportSubMenuComponent.c:135
CopyToClipboard
void CopyToClipboard()
Copy currently generated text to clipboard.
Definition
SCR_AddonsExportSubMenuComponent.c:126
m_sGeneratedText
string m_sGeneratedText
Definition
SCR_AddonsExportSubMenuComponent.c:19
EAddonExportFormat
EAddonExportFormat
Definition
SCR_AddonsExportSubMenuComponent.c:7
m_Widgets
ref SCR_HeaderNavigationWidgets m_Widgets
Definition
SCR_MenuNavigationHeaderComponent.c:18
SCR_AddonManager
Definition
SCR_AddonManager.c:80
SCR_AddonManager::GetOfflineAddons
array< ref SCR_WorkshopItem > GetOfflineAddons()
Returns array with all offline addons.
Definition
SCR_AddonManager.c:159
SCR_AddonManager::SelectItemsBasic
static array< ref SCR_WorkshopItem > SelectItemsBasic(array< ref SCR_WorkshopItem > items, EWorkshopItemQuery query)
Definition
SCR_AddonManager.c:304
SCR_AddonManager::GetInstance
static SCR_AddonManager GetInstance()
Definition
SCR_AddonManager.c:139
SCR_AddonsExportSubMenuWidgets
Definition
SCR_AddonsExportSubMenuWidgets.c:5
SCR_InputButtonComponent
Definition
SCR_InputButtonComponent.c:2
SCR_ScriptedWidgetComponent::HandlerAttached
override void HandlerAttached(Widget w)
Definition
SCR_ScriptedWidgetComponent.c:15
SCR_SubMenuBase
Definition
SCR_SubMenuBase.c:7
SCR_SubMenuBase::CreateNavigationButton
SCR_InputButtonComponent CreateNavigationButton(string actionName, string label, bool rightFooter=false, bool show=true)
Definition
SCR_SubMenuBase.c:151
SCR_SubMenuBase::OnTabShow
void OnTabShow()
Definition
SCR_SubMenuBase.c:57
SCR_WorkshopItem
Definition
SCR_WorkshopItem.c:28
SCR_WorkshopItem::GetCurrentLocalRevision
Revision GetCurrentLocalRevision()
Returns the revision which we currently have on the local storage.
Definition
SCR_WorkshopItem.c:670
SCR_WorkshopItem::GetName
string GetName()
Definition
SCR_WorkshopItem.c:610
SCR_WorkshopItem::GetId
string GetId()
Definition
SCR_WorkshopItem.c:621
System
Definition
System.c:13
UIConstants
Definition
Constants.c:151
Widget
Definition
Widget.c:13
Attribute
SCR_FieldOfViewSettings Attribute
Definition
SendGoalMessage.c:170
scripts
Game
UI
Menu
ContentBrowser
AddonManager
AddonsTools
AddonsExport
SCR_AddonsExportSubMenuComponent.c
Generated by
1.17.0