From f9acb299c8375522dba1ceed14b20cbf0cf58659 Mon Sep 17 00:00:00 2001 From: Michael Date: Sun, 5 Mar 2017 14:36:12 -0500 Subject: Paid shiftnet subscriptions are in. You can now subscribe to a shiftnet provider... you just don't get charged....yet. --- ShiftOS.WinForms/Applications/Shiftnet.cs | 45 +++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) (limited to 'ShiftOS.WinForms/Applications') diff --git a/ShiftOS.WinForms/Applications/Shiftnet.cs b/ShiftOS.WinForms/Applications/Shiftnet.cs index 3da7d6a..22eeec1 100644 --- a/ShiftOS.WinForms/Applications/Shiftnet.cs +++ b/ShiftOS.WinForms/Applications/Shiftnet.cs @@ -122,10 +122,55 @@ namespace ShiftOS.WinForms.Applications { e.Cancel = true; Future.Clear(); + if (Url.StartsWith("runsyscmd/")) + { + ProcessShiftnetCmd(Url.Replace("runsyscmd/", "")); + } + ShiftnetNavigate(Url.ToString()); } } + public void ProcessShiftnetCmd(string cmd) + { + var args = cmd.Split('/'); + switch (args[0]) + { + case "setsnsub": + for(int i = 0; i < DownloadManager.GetAllSubscriptions().Length; i++) + { + if(DownloadManager.GetAllSubscriptions()[i].Name == args[1]) + { + var sub = DownloadManager.GetAllSubscriptions()[i]; + Infobox.PromptYesNo("Shiftnet", $"Are you sure you want to switch your system's Shiftnet subscription to {sub.Name} by {sub.Company}?{Environment.NewLine}{Environment.NewLine}Cost per month: {sub.CostPerMonth} CP{Environment.NewLine}Download speed: {sub.DownloadSpeed} bytes per second", new Action((answer) => + { + if(answer == true) + { + if(SaveSystem.CurrentSave.Codepoints >= sub.CostPerMonth) + { + //Initial fee gets deducted. + SaveSystem.CurrentSave.Codepoints -= sub.CostPerMonth; + //Then we set the subscription. + SaveSystem.CurrentSave.ShiftnetSubscription = i; + //Then we say that we have paid this month. + SaveSystem.CurrentSave.LastMonthPaid = DateTime.Now.Month; + //Then we send our save to the MUD. + SaveSystem.SaveGame(); + + } + else + { + //User can't afford this subscription. + Infobox.Show("Shiftnet - Not enough Codepoints", $"You cannot afford to pay for this subscription at this time. You need {sub.CostPerMonth - SaveSystem.CurrentSave.Codepoints} more Codepoints."); + } + } + })); + } + } + break; + } + } + public Stack History = new Stack(); public Stack Future = new Stack(); -- cgit v1.2.3