diff options
| author | lempamo <[email protected]> | 2017-02-26 16:01:30 -0500 |
|---|---|---|
| committer | lempamo <[email protected]> | 2017-02-26 16:01:30 -0500 |
| commit | f02a07b02f6a15b2f1a245c3804ef751e05d7c40 (patch) | |
| tree | 1c782698c30fe8678d358d723444e017f2adccad /ShiftOS.WinForms/Applications/Downloader.cs | |
| parent | 705d1daefa607d3d3a23da5590c262d8f6f69d70 (diff) | |
| parent | 82a5ca296bb6b4fe000b46af187fb41282e6bd62 (diff) | |
| download | shiftos_thereturn-f02a07b02f6a15b2f1a245c3804ef751e05d7c40.tar.gz shiftos_thereturn-f02a07b02f6a15b2f1a245c3804ef751e05d7c40.tar.bz2 shiftos_thereturn-f02a07b02f6a15b2f1a245c3804ef751e05d7c40.zip | |
Merge remote-tracking branch 'refs/remotes/shiftos-game/master'
Diffstat (limited to 'ShiftOS.WinForms/Applications/Downloader.cs')
| -rw-r--r-- | ShiftOS.WinForms/Applications/Downloader.cs | 44 |
1 files changed, 42 insertions, 2 deletions
diff --git a/ShiftOS.WinForms/Applications/Downloader.cs b/ShiftOS.WinForms/Applications/Downloader.cs index ec071d2..b1b7ed9 100644 --- a/ShiftOS.WinForms/Applications/Downloader.cs +++ b/ShiftOS.WinForms/Applications/Downloader.cs @@ -167,14 +167,33 @@ namespace ShiftOS.WinForms.Applications } } + /// <summary> + /// Gets a Shiftnet download speed in bytes based on the user's subscription. + /// </summary> + /// <returns>Download speed in bytes.</returns> + public static int GetDownloadSpeed() + { + switch (SaveSystem.CurrentSave.ShiftnetSubscription) + { + case 0: + return 256/*B*/; + case 1: + return 1024 * 1024/*KB*/; + case 2: + return 1024 * 10240/*KB*/; + case 3: + return 1024 * 1024 * 1024/*MB*/; + } + return 256; + } + public static void StartDownload(Download down) { var t = new Thread(() => { - int byteWrite = 256; _downloads.Add(down); DownloadStarted?.Invoke(down); - for (int i = 0; i < down.Bytes.Length; i += byteWrite) + for (int i = 0; i < down.Bytes.Length; i += GetDownloadSpeed()) { Thread.Sleep(1000); _downloads[_downloads.IndexOf(down)].Progress = (int)((float)(i / down.Bytes.Length) * 100); @@ -197,4 +216,25 @@ namespace ShiftOS.WinForms.Applications public byte[] Bytes { get; set; } public int Progress { get; set; } } + + [Namespace("dev")] + public static class DownloaderDebugCommands + { + [Command("setsubscription", description ="Use to set the current shiftnet subscription.", usage ="{value:int32}")] + [RequiresArgument("value")] + public static bool SetShiftnetSubscription(Dictionary<string, object> args) + { + int val = 0; + if(int.TryParse(args["value"].ToString(), out val) == true) + { + SaveSystem.CurrentSave.ShiftnetSubscription = val; + SaveSystem.SaveGame(); + } + else + { + Console.WriteLine("Not a valid 32-bit integer."); + } + return true; + } + } } |
