diff options
Diffstat (limited to 'Northstar.Client/mod/scripts/vscripts/ui')
-rw-r--r-- | Northstar.Client/mod/scripts/vscripts/ui/menu_ns_moddownload.nut | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_moddownload.nut b/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_moddownload.nut index 4968714c..09001f57 100644 --- a/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_moddownload.nut +++ b/Northstar.Client/mod/scripts/vscripts/ui/menu_ns_moddownload.nut @@ -9,6 +9,7 @@ global enum eModInstallStatus CHECKSUMING, EXTRACTING, DONE, + ABORTED, FAILED, FAILED_READING_ARCHIVE, FAILED_WRITING_TO_DISK, @@ -57,6 +58,11 @@ bool function DownloadMod( RequiredModInfo mod ) dialogData.message = Localize( "#DOWNLOADING_MOD_TEXT", mod.name, mod.version ) dialogData.showSpinner = true; + // Prevent download button + AddDialogButton( dialogData, "#CANCEL", void function() { + NSCancelModDownload() + }) + // Prevent user from closing dialog dialogData.forceChoice = true; OpenDialog( dialogData ) @@ -77,6 +83,13 @@ bool function DownloadMod( RequiredModInfo mod ) WaitFrame() } + // If download was aborted, don't close UI since it was closed by clicking cancel button + if ( state.status == eModInstallStatus.ABORTED ) + { + print("Mod download was cancelled by the user.") + return false; + } + printt( "Mod status:", state.status ) // Close loading dialog @@ -114,6 +127,12 @@ void function DisplayModDownloadErrorDialog( string modName ) { ModInstallState state = NSGetModInstallState() + // If user cancelled download, no need to display an error message + if ( state.status == eModInstallStatus.ABORTED ) + { + return + } + DialogData dialogData dialogData.header = Localize( "#FAILED_DOWNLOADING", modName ) dialogData.image = $"ui/menu/common/dialog_error" |