12 const int PAUSE_ENABLE_DELAY_MS = 1000;
16 protected const string PERCENTAGE =
"#AR-SupportStation_ActionFormat_Percentage";
43 protected ref ScriptInvokerBase<ScriptInvoker_DownloadManagerEntry>
m_OnUpdate;
46 ScriptInvokerBase<ScriptInvoker_DownloadManagerEntry>
GetOnUpdate()
49 m_OnUpdate =
new ScriptInvokerBase<ScriptInvoker_DownloadManagerEntry>();
61 super.HandlerAttached(w);
69 m_Widgets.m_HorizontalButtons.SetVisible(
false);
76 m_Widgets.m_ProcessingSpinner.SetRotation(360);
148 if (
m_Item.GetItemTargetRevision())
149 m_Widgets.m_VersionText.SetText(
m_Item.GetItemTargetRevision().GetVersion());
154 if (
m_Item.GetWorkshopItem() &&
m_Item.GetWorkshopItem().Thumbnail())
173 m_Widgets.m_Progress.SetVisible(runningOrFailed);
183 m_Widgets.m_DownloadedText.SetText(
string.Format(
"%1/%2", downloadSize, addonSize));
188 m_Widgets.m_DownloadedText.SetText(addonSize);
198 if (!processing || force)
228 m_Widgets.m_DownloadStateText.SetText(msg);
235 m_Widgets.m_DownloadStateText.SetColor(col);
236 m_Widgets.m_ProgressComponent.SetSliderColor(col);
237 m_Widgets.m_ProcessingSpinner.SetColor(col);
240 m_Widgets.m_ProcessingSpinner.SetVisible(processing);
241 m_Widgets.m_DownloadIcon.SetVisible(!processing);
242 m_Widgets.m_DownloadIconShadow.SetVisible(!processing);
253 bool pause, resume, cancel, retry;
258 m_Widgets.m_ResumeBtn.SetVisible(resume);
259 m_Widgets.m_CancelBtn.SetVisible(cancel);
278 progress =
m_Action.GetProcessingProgress();
302 color =
Color.FromInt(
UIColors.CONTRAST_DEFAULT.PackToInt());
335 protected void FailReason(out
string message, out
string icon)
359 m_Widgets.m_ProcessingSpinner.SetRotation(360);
373 button.SetEnabled(
false);
386 button.SetEnabled(
true);
408 Print(
"Download manager entry state can't be update due to missing download action");
413 if (!action.IsCompleted() && !action.IsFailed() && !action.IsCanceled())
417 if (action.IsFailed() || action.IsCanceled())
421 if (action.IsCompleted() && !action.IsFailed() && !action.IsCanceled())
449 void CanDoActions(out
bool canPause, out
bool canResume, out
bool canCancel, out
bool canRetry)
ArmaReforgerScripted GetGame()
EDownloadManagerActionState
Enum describing current state of downloading action.
void UpdateProgressWidgets()
func ScriptInvoker_DownloadManagerEntry
UI Textures DeployMenu Briefing conflict_HintBanner_1_UI desc
EAnimationCurve m_eIconAnimationCurve
const int PROCESSING_MESSAGE_UPDATE_DELAY
void FailReason(out string message, out string icon)
Return message with details why entry wasn't downloaded.
void InitForDownloadAction(SCR_WorkshopItem item, SCR_WorkshopItemActionDownload action)
ref ScriptInvokerBase< ScriptInvoker_DownloadManagerEntry > m_OnUpdate
void UpdateProgressWidgets(bool force=false)
Update all text displaying progress.
ref SCR_WorkshopItemActionDownload m_Action
ScriptInvokerBase< ScriptInvoker_DownloadManagerEntry > GetOnUpdate()
void CanDoActions(out bool canPause, out bool canResume, out bool canCancel, out bool canRetry)
Store which actions can be used for entry in current state.
bool m_bHideProgressBarOnComplete
void DisablePauserResume(SCR_ModularButtonComponent button)
ResourceName m_sIconImageset
float m_fIconAnimationSpeed
override void HandlerAttached(Widget w)
void UpdateMessage(bool processing)
override bool OnMouseEnter(Widget w, int x, int y)
ref SCR_DownloadManagerEntryWidgets m_Widgets
SCR_WorkshopItem GetItem()
ref SCR_BackendImageComponent m_BackendImage
void StateMessage(out string message, out string imageName, out Color color)
Setup state message variables.
void OnActionChanged(SCR_WorkshopItemAction action)
static EDownloadManagerActionState DownloadActionState(SCR_WorkshopItemActionDownload action)
EDownloadManagerActionState GetState()
bool m_bDelayedProcessingDisplay
ref SCR_WorkshopItem m_Item
WidgetAnimationImageRotation m_SpinnerAnimation
SCR_WorkshopItemActionDownload GetDownloadAction()
void AnimateIcon(WidgetAnimationBase animation)
Return message with details why entry wasn't downloaded.
EDownloadManagerActionState m_iState
override bool OnMouseLeave(Widget w, Widget enterW, int x, int y)
void EnablePauserResume(SCR_ModularButtonComponent button)
static bool IsBackendConnectionAvailable()
static int GetDownloadProgressPercentage(float progress)
proto void Print(void var, LogLevel level=LogLevel.NORMAL)
Prints content of variable to console/log.
SCR_FieldOfViewSettings Attribute