public ExceptionLogger(Mod m, Repo r) { this.version = m.version; this.url = r.url; this.id = m.id; this.type = ExceptionType.MOD; }
public LocalMod(bool localInstall, String installPath, String localId, String serverId, Repo source, bool enabled, String name, String description, int version, String versionCode) { this.localId = localId; this.localInstall = localInstall; this.installPath = installPath; this.source = source; this.enabled = enabled; this.id = serverId; this.name = name; this.description = description; this.version = version; this.versionCode = versionCode; this.queueForUninstall = false; }
public bool tryToFetchModList(Repo repo) { String modlist = null; try { WebClientTimeOut client = new WebClientTimeOut (); modlist = client.DownloadString (new Uri(repo.url+"modlist")); } catch (WebException ex) { Console.WriteLine (ex); repositories.Remove (repo); return false; } ModListMessage message = null; try { JsonReader reader = new JsonReader(); message = reader.Read(modlist, typeof(ModListMessage)) as ModListMessage; } catch { repositories.Remove (repo); return false; } if (message == null) { repositories.Remove (repo); return false; } if (!message.msg.Equals("success")) { repositories.Remove (repo); return false; } modsPerRepo.Add (repo, new List<Item>(message.data)); return true; }
public void removeRepository(Repo repo) { repositories.Remove (repo); updateRepoList (); }
public Mod getModOnRepo(Repo source, LocalMod localMod) { foreach (Repo repo in repositories) if (repo.Equals (source)) return (Mod)modsPerRepo [repo].Find (localMod.Equals); return null; }
public List<Item> getModListForRepo(Repo source) { List<Item> modlist = null; foreach (Repo repo in repositories) if (repo.Equals (source)) modlist = modsPerRepo [repo]; if (modlist != null) { modlist = modlist.FindAll (delegate(Item mod) { foreach (LocalMod lmod in modManager.installedMods) { if (lmod.Equals(mod) && lmod.source.Equals(source)) return false; } return true; }); } return modlist; }
public void installMod(Repo repo, Mod mod) { String newID = this.generateUniqueID (); String installPath = modsPath + Path.DirectorySeparatorChar + newID + Path.DirectorySeparatorChar + mod.name + ".mod.dll"; LocalMod lmod = new LocalMod (false, installPath, newID, mod.id, repo, false, mod.name, mod.description, mod.version, mod.versionCode); String folder = modsPath + Path.DirectorySeparatorChar + newID + Path.DirectorySeparatorChar; if (Directory.Exists (folder)) { Directory.Delete (folder); } Directory.CreateDirectory (folder); if (this.updateMod (lmod)) { this.installedMods.Add (lmod); //add hooks loader.loadModStatic (lmod.installPath); } else { Extensions.DeleteDirectory (folder); } }