private List <ModLink> NodeToLinks(JSONNode node) { string[] arr = AsArray(node.AsArray); List <ModLink> links = new List <ModLink>(); foreach (string str in arr) { var parsed = JSON.Parse(str); ModLink link = new ModLink(parsed["name"], parsed["version"]); links.Add(link); } return(links); }
private List <ModLink> NodeToLinks(JSONNode node) { string[] arr = AsArray(node.AsArray); List <ModLink> links = new List <ModLink>(); foreach (string str in arr) { string[] split = str.Split('@'); ModLink link = new ModLink(split[0], split[1]); links.Add(link); } return(links); }
protected void unitscount2_DataBinding(object sender, System.EventArgs e) { //Finding unit values, adding each to quantity's total, then updating literal text with calculated total Literal lt = (Literal)(sender); int quantity2 = Convert.ToInt32((Eval("units"))); unitsTotal2 += quantity2; lt.Text = quantity2.ToString(); //Optional units total stored opttotal.Text = unitsTotal2.ToString(); //Total units updated + displayed comptotal.DataBind(); unitsTotal = Convert.ToInt32(comptotal.Text); //Re-Calculating final total (compulsory units + added optional units) finalTotal = unitsTotal2 + unitsTotal; TotalValue2.Text = finalTotal.ToString(); TotalValue2.DataBind(); //Display re-calculated total, hide old total TotalValue2.Visible = true; TotalValue.Visible = false; //Storing unit total to string to carry in URL (for checking at confirmation) int linktotal = finalTotal; int userID = Convert.ToInt32(Request.QueryString["userID"]); int studentID = Convert.ToInt32(Request.QueryString["studentID"]); int Level = Convert.ToInt32(Request.QueryString["Level"]); Modules.DataBind(); CompMods = Modules.Text; //Adding unit total for carrying to modules area (so optional units can be added to total) ModLink.NavigateUrl = "RegWizardModules.aspx?UserID=" + userID + "&Level=" + Level + "&studentID=" + studentID; ModLink.DataBind(); //Adding unit total for carrying to confirmation (for 120 units required check) ConfirmLink.NavigateUrl = "RegWizardCompMod.aspx?UserID=" + userID + "&Level=" + Level + "&studentID=" + studentID + "&units=" + finalTotal + "&Events=" + CompMods; ConfirmLink.DataBind(); //If 120 units are acquired, disable the optional module link so students can't go over units if (finalTotal == 120) { ModLink.Visible = false; } }
public void DownloadModByName(string modName, Action <string, string> onDownloadComplete = null, bool downloadEvenIfFileExists = false) { List <ModLink> foundModLink = modLinks.modList.Select(x => x).Where(x => x.name.Contains(modName)).ToList(); if (foundModLink.Count <= 0) { Debug.Log("could not find any mod with name " + modName); return; } ModLink toDownload = foundModLink[0]; string downloadLink = toDownload.link; if (settings.Settings.isGOG != null && settings.Settings.isGOG == true && toDownload.gogLink != null && toDownload.gogLink.Length > 1) { downloadLink = toDownload.gogLink; } currentDownload = DownloadMod(downloadLink, toDownload.name, onDownloadComplete, downloadEvenIfFileExists); //TODO: keep track of these so we can stop them? StartCoroutine(currentDownload); }
private void listViewMods_ItemChecked(object sender, ItemCheckedEventArgs e) { ReleaseInfo release = (ReleaseInfo)e.Item.Tag; if (release.disabled) { e.Item.Checked = release.install; return; } else { release.install = e.Item.Checked; } IEnumerable <ListViewItem> lv = listViewMods.Items.Cast <ListViewItem>(); List <ListViewItem> changedConflicts = new List <ListViewItem>(); if (release.conflictsWith.Count > 0) { List <ListViewItem> filtered = lv.Where(lvi => { ReleaseInfo info = (ReleaseInfo)lvi.Tag; bool exists = release.conflictsWith.Exists(l => l.name == info.name); if (!exists) { return(false); } ModLink link = release.conflictsWith.Find(l => l.name == info.name); Version version = new Version(info.version); Range range = new Range(link.semver); return(range.IsSatisfied(version)); }).ToList(); foreach (var x in filtered) { changedConflicts.Add(x); ReleaseInfo info = (ReleaseInfo)x.Tag; info.disabled = e.Item.Checked; info.install = !e.Item.Checked; if (e.Item.Checked) { x.Checked = false; } } } if (release.dependsOn.Count > 0) { List <ListViewItem> filtered = lv.Where(lvi => { ReleaseInfo info = (ReleaseInfo)lvi.Tag; if (info.disabled && !info.install) { return(false); } bool exists = release.dependsOn.Exists(l => l.name == info.name); if (!exists) { return(false); } ModLink link = release.dependsOn.Find(l => l.name == info.name); Version version = new Version(info.version); Range range = new Range(link.semver); return(range.IsSatisfied(version)); }).ToList(); if (filtered.Count != release.dependsOn.Count) { release.install = false; release.disabled = true; foreach (var x in changedConflicts) { ReleaseInfo info = (ReleaseInfo)x.Tag; info.disabled = !e.Item.Checked; info.install = e.Item.Checked; } } else { foreach (var x in filtered) { ReleaseInfo info = (ReleaseInfo)x.Tag; info.disabled = e.Item.Checked; info.install = e.Item.Checked; x.Checked = e.Item.Checked; } } } ReRenderListView(); }