public bool Extract(NexonArchiveFileEntry entry) { path = entry.Path; while (path[Index] == Path.DirectorySeparatorChar || path[Index] == Path.AltDirectorySeparatorChar) { Index++; } path = path.Substring(Index); path = Path.Combine(ExtractPath, path); DirectoryInfo dir = new DirectoryInfo(Path.GetDirectoryName(path)); if (!dir.Exists) { dir.Create(); } using (FileStream fs = new FileStream(path, FileMode.Create, FileAccess.ReadWrite, FileShare.Read)) { entry.Extract(fs); if (DecryptModels && String.Compare(Path.GetExtension(path), ".mdl", StringComparison.OrdinalIgnoreCase) == 0) { ModelHelper.DecryptModel(fs); } } return(true); }
public bool Extract(NexonArchiveFileEntry file) { string path = file.Path; int slashIndex = 0; while (path[slashIndex] == Path.DirectorySeparatorChar || path[slashIndex] == Path.AltDirectorySeparatorChar) { slashIndex++; } path = path.Substring(slashIndex); path = Path.Combine(this.ExtractPath, path); DirectoryInfo pathDirectory = new DirectoryInfo(Path.GetDirectoryName(path)); if (!pathDirectory.Exists) { pathDirectory.Create(); } using (FileStream fileStream = new FileStream(path, FileMode.Create, FileAccess.ReadWrite, FileShare.Read)) { file.Extract(fileStream); if (this.DecryptModels && string.Compare(Path.GetExtension(path), ".mdl", StringComparison.OrdinalIgnoreCase) == 0) { ModelHelper.DecryptModel(fileStream); } } return(true); }
public ListViewItem AddFile(NexonArchiveFileEntry file) { if (file == null) { throw new ArgumentNullException("file"); } ListViewItem item = new ListViewItem(Path.GetFileName(file.Path)); item.Tag = file; item.SubItems.Add(file.LastModifiedTime.ToString(DateTimeFormatInfo.CurrentInfo)); item.SubItems.Add(FilesListView.GetHumanSize(file.Size)); base.Items.Add(item); return(item); }
private void verifyToolStripMenuItem_Click(object sender, EventArgs e) { if (base.SelectedIndices.Count > 0) { List <NexonArchiveFileEntry> files = new List <NexonArchiveFileEntry>(); foreach (object obj in base.SelectedItems) { ListViewItem item = (ListViewItem)obj; NexonArchiveFileEntry file = item.Tag as NexonArchiveFileEntry; if (file != null) { files.Add(file); } } this.OnVerifyFiles(new FilesEventArgs(this.FullPath, files)); } }
private static bool VerifyFilesHelper(NexonArchiveFileEntry file) { return(file.Verify()); }
public int Compare(object x, object y) { ListViewItem xItem = x as ListViewItem; ListViewItem yItem = y as ListViewItem; if (xItem == null) { if (yItem == null) { return(0); } return(-1); } else { if (yItem == null) { return(1); } if (this.Column < 0 || this.Order == SortOrder.None) { return(0); } if (this.Order != SortOrder.Ascending && this.Order != SortOrder.Descending) { return(0); } NexonArchiveFileEntry xFile = xItem.Tag as NexonArchiveFileEntry; NexonArchiveFileEntry yFile = yItem.Tag as NexonArchiveFileEntry; if (this.Column >= xItem.SubItems.Count && this.Column >= yItem.SubItems.Count) { return(0); } int value; switch (this.Column) { case 1: if (xFile != null && yFile != null) { value = DateTime.Compare(xFile.LastModifiedTime, yFile.LastModifiedTime); goto IL_10F; } break; case 2: if (xFile != null && yFile != null) { value = xFile.Size.CompareTo(yFile.Size); goto IL_10F; } break; } value = string.Compare(xItem.SubItems[this.Column].Text, yItem.SubItems[this.Column].Text, StringComparison.CurrentCultureIgnoreCase); IL_10F: if (this.Order == SortOrder.Descending) { return(-value); } return(value); } }
private static bool VerifyHelper(NexonArchiveFileEntry entry) { return(entry.Verify()); }