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_EditedSaveUIComponent.c
Go to the documentation of this file.
1
5
class
SCR_EditedSaveUIComponent
:
SCR_ScriptedWidgetComponent
6
{
7
protected
const
string
WIDGET_NAME
=
"m_Name"
;
8
protected
const
string
WIDGET_UPLOAD_BTN
=
"m_UploadButton"
;
9
protected
const
string
WIDGET_SAVE_BACKGROUND
=
"m_IconBackground"
;
10
11
protected
const
string
TOOLTIP_PUBLISH
=
"#AR-Editor_SaveLoad_TooltipPublish"
;
12
protected
const
string
TOOLTIP_PUBLISH_EMPTY
=
"#AR-Editor_SaveLoad_TooltipMissingSave"
;
13
protected
const
string
TOOLTIP_PUBLISH_DISABLED_DOWNLOADED
=
"#AR-Editor_SaveLoad_TooltipDownloadedPublish"
;
14
15
protected
const
string
DEFAULT_NAME
=
"#AR-Editor_SaveLoad_NewSaveFallback"
;
16
17
protected
TextWidget
m_wName
;
18
protected
ImageWidget
m_wSaveBackground
;
19
20
protected
ButtonWidget
m_wUploadButton
;
21
protected
SCR_ModularButtonComponent
m_UploadButton
;
22
protected
SCR_DynamicIconComponent
m_UploadButtonIcon
;
23
24
protected
bool
m_bCanUpload
;
25
26
//------------------------------------------------------------------------------------------------
27
override
void
HandlerAttached
(
Widget
w)
28
{
29
super.HandlerAttached(w);
30
31
// Setup refs
32
m_wName
=
TextWidget
.Cast(w.FindAnyWidget(
WIDGET_NAME
));
33
m_wSaveBackground
=
ImageWidget
.Cast(w.FindAnyWidget(
WIDGET_SAVE_BACKGROUND
));
34
35
m_wUploadButton
=
ButtonWidget
.Cast(w.FindAnyWidget(
WIDGET_UPLOAD_BTN
));
36
m_UploadButton
= SCR_ModularButtonComponent.Cast(
m_wUploadButton
.FindHandler(SCR_ModularButtonComponent));
37
m_UploadButtonIcon
=
SCR_DynamicIconComponent
.Cast(
m_wUploadButton
.FindHandler(
SCR_DynamicIconComponent
));
38
39
// Setup state
40
if
(!
GetGame
().InPlayMode())
41
return
;
42
43
ClearEditedSave
();
44
45
/*
46
SCR_SaveWorkshopManager saveWorkshopManager = SCR_SaveWorkshopManager.GetInstance();
47
WorldSaveItem saveItem;
48
string saveName = saveWorkshopManager.GetCurrentSave(saveItem);
49
50
if (saveItem)
51
OnEditedSaveChange(saveName);
52
53
// Setup callbacks
54
saveWorkshopManager.GetOnCurrentSaveChanged().Insert(OnEditedSaveChange);
55
*/
56
57
m_UploadButton
.m_OnClicked.Insert(
OnUploadButtonClick
);
58
SCR_ScriptedWidgetTooltip
.
GetOnTooltipShow
().Insert(
OnTooltipShow
);
59
}
60
61
//------------------------------------------------------------------------------------------------
62
override
void
HandlerDeattached
(
Widget
w)
63
{
64
SCR_ScriptedWidgetTooltip
.
GetOnTooltipShow
().Remove(
OnTooltipShow
);
65
}
66
67
//------------------------------------------------------------------------------------------------
68
override
bool
OnFocus
(
Widget
w,
int
x,
int
y)
69
{
70
SCR_ListEntryHelper
.UpdateMouseButtonColor(
m_UploadButton
, !
m_bCanUpload
,
true
);
71
return
true
;
72
}
73
74
//------------------------------------------------------------------------------------------------
75
override
bool
OnFocusLost
(
Widget
w,
int
x,
int
y)
76
{
77
SCR_ListEntryHelper
.UpdateMouseButtonColor(
m_UploadButton
, !
m_bCanUpload
,
m_UploadButton
.GetFocused());
78
return
true
;
79
}
80
81
//------------------------------------------------------------------------------------------------
82
protected
void
OnTooltipShow
(
SCR_ScriptedWidgetTooltip
tooltip)
83
{
84
//++ Ensure the tooltip is only hijacked if its a publish tooltip
85
string
tag = tooltip.
GetTag
();
86
if
(tag !=
"publish_action"
&& tag !=
"publish_disabled_empty"
&& tag !=
"publish_disabled_downloaded"
)
87
return
;
88
89
//WorldSaveItem saveItem;
90
//SCR_SaveWorkshopManager.GetInstance().GetCurrentSave(saveItem);
91
string
message =
TOOLTIP_PUBLISH_EMPTY
;
92
93
/*
94
if (saveItem)
95
{
96
if (SCR_SaveWorkshopManager.CanOverrideSave(saveItem))
97
message = TOOLTIP_PUBLISH;
98
else
99
message = TOOLTIP_PUBLISH_DISABLED_DOWNLOADED;
100
}
101
*/
102
103
tooltip.
GetContent
().
SetMessage
(message);
104
105
if
(
m_bCanUpload
)
106
tooltip.
GetContent
().
SetMessageColor
(
UIColors
.NEUTRAL_INFORMATION);
107
else
108
tooltip.
GetContent
().
SetMessageColor
(
UIColors
.WARNING);
109
}
110
111
//------------------------------------------------------------------------------------------------
113
protected
void
OnEditedSaveChange
(
string
fileName)
114
{
115
//string name = GetGame().GetSaveManager().GetCustomName(fileName);
116
117
m_wName
.SetText(fileName);
118
119
UpdatePublishButtonState
();
120
121
}
122
123
//------------------------------------------------------------------------------------------------
125
protected
void
UpdatePublishButtonState
()
126
{
127
/*WorldSaveItem saveItem;
128
SCR_SaveWorkshopManager.GetInstance().GetCurrentSave(saveItem);
129
130
m_bCanUpload = saveItem && SCR_SaveWorkshopManager.CanOverrideSave(saveItem);
131
132
SCR_ListEntryHelper.UpdateMouseButtonColor(m_UploadButton, !m_bCanUpload, m_UploadButton.GetFocused());
133
134
if (saveItem)
135
{
136
m_wName.SetColor(UIColors.NEUTRAL_INFORMATION);
137
m_wSaveBackground.SetColor(UIColors.CONTRAST_COLOR);
138
}
139
else
140
{
141
m_wName.SetColor(UIColors.WHITE_DISABLED);
142
m_wSaveBackground.SetColor(UIColors.BACKGROUND_HOVERED);
143
}
144
*/
145
}
146
147
//------------------------------------------------------------------------------------------------
148
protected
void
OnUploadButtonClick
(SCR_ModularButtonComponent button)
149
{
150
if
(!
m_bCanUpload
)
151
return
;
152
153
// Check linked account
154
if
(!
BohemiaAccountApi
.IsLinked())
155
{
156
SCR_LoginProcessDialogUI
loginDialog =
SCR_LoginProcessDialogUI
.
CreateLoginDialog
();
157
loginDialog.
GetCallback
().SetOnSuccess(
OnLoginSuccess
);
158
return
;
159
}
160
161
new
SCR_PublishSaveDialog
();
162
}
163
164
//------------------------------------------------------------------------------------------------
165
protected
void
OnLoginSuccess
()
166
{
167
new
SCR_PublishSaveDialog
();
168
}
169
170
//------------------------------------------------------------------------------------------------
171
void
ClearEditedSave
()
172
{
173
m_wName
.SetText(
DEFAULT_NAME
);
174
UpdatePublishButtonState
();
175
}
176
177
//------------------------------------------------------------------------------------------------
178
SCR_ModularButtonComponent
GetUploadButton
()
179
{
180
return
m_UploadButton
;
181
}
182
}
GetGame
ArmaReforgerScripted GetGame()
Definition
game.c:1398
BohemiaAccountApi
Definition
BohemiaAccountApi.c:19
ButtonWidget
Definition
ButtonWidget.c:16
ImageWidget
Definition
ImageWidget.c:13
SCR_DynamicIconComponent
Definition
SCR_DynamicIconComponent.c:6
SCR_EditedSaveUIComponent
Definition
SCR_EditedSaveUIComponent.c:6
SCR_EditedSaveUIComponent::TOOLTIP_PUBLISH_EMPTY
const string TOOLTIP_PUBLISH_EMPTY
Definition
SCR_EditedSaveUIComponent.c:12
SCR_EditedSaveUIComponent::OnFocus
override bool OnFocus(Widget w, int x, int y)
Definition
SCR_EditedSaveUIComponent.c:68
SCR_EditedSaveUIComponent::HandlerAttached
override void HandlerAttached(Widget w)
Definition
SCR_EditedSaveUIComponent.c:27
SCR_EditedSaveUIComponent::m_wSaveBackground
ImageWidget m_wSaveBackground
Definition
SCR_EditedSaveUIComponent.c:18
SCR_EditedSaveUIComponent::OnUploadButtonClick
void OnUploadButtonClick(SCR_ModularButtonComponent button)
Definition
SCR_EditedSaveUIComponent.c:148
SCR_EditedSaveUIComponent::ClearEditedSave
void ClearEditedSave()
Definition
SCR_EditedSaveUIComponent.c:171
SCR_EditedSaveUIComponent::m_UploadButtonIcon
SCR_DynamicIconComponent m_UploadButtonIcon
Definition
SCR_EditedSaveUIComponent.c:22
SCR_EditedSaveUIComponent::DEFAULT_NAME
const string DEFAULT_NAME
Definition
SCR_EditedSaveUIComponent.c:15
SCR_EditedSaveUIComponent::OnFocusLost
override bool OnFocusLost(Widget w, int x, int y)
Definition
SCR_EditedSaveUIComponent.c:75
SCR_EditedSaveUIComponent::OnEditedSaveChange
void OnEditedSaveChange(string fileName)
Reaction to changing of current editing save - name should be changed accordingly.
Definition
SCR_EditedSaveUIComponent.c:113
SCR_EditedSaveUIComponent::OnLoginSuccess
void OnLoginSuccess()
Definition
SCR_EditedSaveUIComponent.c:165
SCR_EditedSaveUIComponent::HandlerDeattached
override void HandlerDeattached(Widget w)
Definition
SCR_EditedSaveUIComponent.c:62
SCR_EditedSaveUIComponent::m_UploadButton
SCR_ModularButtonComponent m_UploadButton
Definition
SCR_EditedSaveUIComponent.c:21
SCR_EditedSaveUIComponent::TOOLTIP_PUBLISH
const string TOOLTIP_PUBLISH
Definition
SCR_EditedSaveUIComponent.c:11
SCR_EditedSaveUIComponent::m_wUploadButton
ButtonWidget m_wUploadButton
Definition
SCR_EditedSaveUIComponent.c:20
SCR_EditedSaveUIComponent::WIDGET_UPLOAD_BTN
const string WIDGET_UPLOAD_BTN
Definition
SCR_EditedSaveUIComponent.c:8
SCR_EditedSaveUIComponent::WIDGET_NAME
const string WIDGET_NAME
Definition
SCR_EditedSaveUIComponent.c:7
SCR_EditedSaveUIComponent::GetUploadButton
SCR_ModularButtonComponent GetUploadButton()
Definition
SCR_EditedSaveUIComponent.c:178
SCR_EditedSaveUIComponent::TOOLTIP_PUBLISH_DISABLED_DOWNLOADED
const string TOOLTIP_PUBLISH_DISABLED_DOWNLOADED
Definition
SCR_EditedSaveUIComponent.c:13
SCR_EditedSaveUIComponent::UpdatePublishButtonState
void UpdatePublishButtonState()
Setup current tooltip based on current save state.
Definition
SCR_EditedSaveUIComponent.c:125
SCR_EditedSaveUIComponent::m_bCanUpload
bool m_bCanUpload
Definition
SCR_EditedSaveUIComponent.c:24
SCR_EditedSaveUIComponent::WIDGET_SAVE_BACKGROUND
const string WIDGET_SAVE_BACKGROUND
Definition
SCR_EditedSaveUIComponent.c:9
SCR_EditedSaveUIComponent::OnTooltipShow
void OnTooltipShow(SCR_ScriptedWidgetTooltip tooltip)
Definition
SCR_EditedSaveUIComponent.c:82
SCR_EditedSaveUIComponent::m_wName
TextWidget m_wName
Definition
SCR_EditedSaveUIComponent.c:17
SCR_ListEntryHelper
Definition
SCR_ListEntryHelper.c:2
SCR_LoginProcessDialogUI
Definition
SCR_LoginProcessDialogUI.c:6
SCR_LoginProcessDialogUI::CreateLoginDialog
static SCR_LoginDialogUI CreateLoginDialog()
Definition
SCR_LoginProcessDialogUI.c:40
SCR_LoginProcessDialogUI::GetCallback
BackendCallback GetCallback()
Definition
SCR_LoginProcessDialogUI.c:314
SCR_PublishSaveDialog
Definition
SCR_PublishSaveDialog.c:2
SCR_ScriptedWidgetComponent
Definition
SCR_ScriptedWidgetComponent.c:8
SCR_ScriptedWidgetTooltipContentBase::SetMessage
bool SetMessage(string message)
Definition
SCR_ScriptedWidgetTooltipContentBase.c:47
SCR_ScriptedWidgetTooltipContentBase::SetMessageColor
bool SetMessageColor(Color color)
Definition
SCR_ScriptedWidgetTooltipContentBase.c:63
SCR_ScriptedWidgetTooltip
Definition
SCR_ScriptedWidgetTooltip.c:16
SCR_ScriptedWidgetTooltip::GetOnTooltipShow
static ScriptInvokerTooltip GetOnTooltipShow()
Definition
SCR_ScriptedWidgetTooltip.c:396
SCR_ScriptedWidgetTooltip::GetTag
string GetTag()
Definition
SCR_ScriptedWidgetTooltip.c:333
SCR_ScriptedWidgetTooltip::GetContent
SCR_ScriptedWidgetTooltipContentBase GetContent()
Definition
SCR_ScriptedWidgetTooltip.c:339
TextWidget
Definition
TextWidget.c:16
UIColors
Definition
Constants.c:17
Widget
Definition
Widget.c:13
scripts
Game
Editor
UI
Components
SCR_EditedSaveUIComponent.c
Generated by
1.17.0