Arma Reforger Explorer 1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Loading...
Searching...
No Matches
SCR_EditedSaveUIComponent.c
Go to the documentation of this file.
1
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
19
21 protected SCR_ModularButtonComponent m_UploadButton;
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));
34
35 m_wUploadButton = ButtonWidget.Cast(w.FindAnyWidget(WIDGET_UPLOAD_BTN));
36 m_UploadButton = SCR_ModularButtonComponent.Cast(m_wUploadButton.FindHandler(SCR_ModularButtonComponent));
38
39 // Setup state
40 if (!GetGame().InPlayMode())
41 return;
42
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);
59 }
60
61 //------------------------------------------------------------------------------------------------
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 //------------------------------------------------------------------------------------------------
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
120
121 }
122
123 //------------------------------------------------------------------------------------------------
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 {
157 loginDialog.GetCallback().SetOnSuccess(OnLoginSuccess);
158 return;
159 }
160
162 }
163
164 //------------------------------------------------------------------------------------------------
165 protected void OnLoginSuccess()
166 {
168 }
169
170 //------------------------------------------------------------------------------------------------
172 {
173 m_wName.SetText(DEFAULT_NAME);
175 }
176
177 //------------------------------------------------------------------------------------------------
178 SCR_ModularButtonComponent GetUploadButton()
179 {
180 return m_UploadButton;
181 }
182}
ArmaReforgerScripted GetGame()
Definition game.c:1398
override bool OnFocus(Widget w, int x, int y)
override void HandlerAttached(Widget w)
void OnUploadButtonClick(SCR_ModularButtonComponent button)
SCR_DynamicIconComponent m_UploadButtonIcon
override bool OnFocusLost(Widget w, int x, int y)
void OnEditedSaveChange(string fileName)
Reaction to changing of current editing save - name should be changed accordingly.
override void HandlerDeattached(Widget w)
SCR_ModularButtonComponent m_UploadButton
SCR_ModularButtonComponent GetUploadButton()
void UpdatePublishButtonState()
Setup current tooltip based on current save state.
void OnTooltipShow(SCR_ScriptedWidgetTooltip tooltip)
static SCR_LoginDialogUI CreateLoginDialog()
static ScriptInvokerTooltip GetOnTooltipShow()
SCR_ScriptedWidgetTooltipContentBase GetContent()