public void ShowPatchInfoDialog(Patch.Patch patch) { _parent.Effect = new BlurEffect(); PatchInfoWindow pinfo; if (patch.IsDownloaded) { pinfo = new PatchInfoWindow { Owner = Window.GetWindow(_parent), TextBlockTitle = { Text = patch.Name }, TextBlockDescription = { Text = patch.Description }, TextBlockAuthor = { Text = patch.Author }, HyperlinkLink = { NavigateUri = new Uri(patch.Link) }, TextBlockVersion = { Text = patch.PatchVersion.Full + " от " + patch.Date } }; } else { pinfo = new PatchInfoWindow { Owner = Window.GetWindow(_parent), TextBlockDescription = { Text = "Описание недоступно." }, HyperlinkText = { Text = string.Empty } }; } pinfo.ShowDialog(); _parent.Effect = new DropShadowEffect(); }
public static SubfileBuilder GetBuilder(DatController datController, Patch.Patch patch) { try { SubfileBuilder builder; switch (patch.ContentType) { case PatchContentType.Text: builder = new TextSubfileBuilder(datController, patch); break; case PatchContentType.Image: case PatchContentType.Sound: case PatchContentType.Font: case PatchContentType.Texture: builder = new BinarySubfileBuilder(datController, patch); break; default: throw new ArgumentException($"тип файлов {patch.ContentType} не обрабатывается программой."); } return(builder.InitResult == -1 ? null : builder); } catch (Exception e) { Logger.Write(e.Message); return(null); } }
public bool InstallOrNot(Patch.Patch patch) { if (!patch.IsDownloaded) { return(false); } if (IsApplySubscribed && (!IsValid || patch.IsHigherThan(Version))) { return(true); } return(false); }
protected void Init(DatController datController, Patch.Patch patch) { try { using (var con = new SQLiteConnection($"Data Source = {patch.Path}; Version = 3;")) { con.Open(); Files = Database.GetFilesByClientDat(con, datController.Dat.ClientDat.Id); } IsOldClientDat = Files.Count > datController.Dat.SubfileInfo.Count; InitResult = 0; } catch (Exception ex) { Logger.Write(ex.Message); Files.Clear(); InitResult = -1; } }
public BinarySubfileBuilder(DatController datController, Patch.Patch patch) { Init(datController, patch); }
public void RenewMark(Patch.Patch patch) { DatPatches[patch.ContentType].ReceiveMark(NinjaMark.CreateMark(patch.PatchVersion.Full, patch.Date, true)); }
public bool InstallOrNot(Patch.Patch patch) { return(DatPatches[patch.ContentType].InstallOrNot(patch)); }
public PatchAsset(string name, Patch.Patch patch) { Name = name; Patch = patch; }
/// <summary> /// Put deletes first in case a file is renamed in case on a case insensitive system /// The old file must be deleted before it tries to create the new file /// </summary> private static IList <FileHeader> GetFilesInApplicationOrder(Patch.Patch p) { return(p.GetFiles().OrderByDescending(x => x.changeType == DiffEntry.ChangeType.DELETE).ToList()); }