private void xcptogod_RemoveFinished_btn_Click(object sender, EventArgs e) { try { var itemToRemove = xcptogod_blvex.Items.Where( obj => { XcpInstance di = (XcpInstance)obj.Value; if (di.GodInstance != null) { return(true); } return(false); }).ToList(); foreach (var item in itemToRemove) { xcptogod_blvex.Items.Remove(item); } } catch (Exception ex) { Console.Write(ex.ToString()); throw; } }
private void Xcp_UnpackCompleted(object sender, EventArgs e) { XcpInstance xcp = (XcpInstance)sender; xcp.UnpackCompleted -= Xcp_UnpackCompleted; _xcpList.Remove(xcp); }
private void xcptogod_Unpack_btn_Click(object sender, EventArgs e) { XcpInstance xcp = (XcpInstance)xcptogod_blvex.SelectedValue; if (xcp == null) { MessageBox.Show("Please Select a Game to Unpack", "Alert"); return; } Task.Run(() => { if (String.Compare(Path.GetExtension(xcp.InFile), ".xcp", StringComparison.OrdinalIgnoreCase) == 0) { xcp.UnpackAndSplitComplete += Xcp_UnpackAndSplitComplete; xcp.FullExtract(); } else if (string.Compare(Path.GetExtension(xcp.InFile), ".xup", StringComparison.OrdinalIgnoreCase) == 0) { xcp.UnpackCompleted += Xcp_UnpackCompleted; xcp.Split(); } }).ContinueWith(prevTask => { if (prevTask.Exception != null) { throw prevTask.Exception; } if (xcp.GodInstance != null) { _godList.Add(xcp.GodInstance); _xcpList.Remove(xcp); } }); }
private void Xcp_UnpackAndSplitComplete(object sender, EventArgs e) { XcpInstance xcp = (XcpInstance)sender; xcp.UnpackAndSplitComplete -= Xcp_UnpackAndSplitComplete; _xcpList.Remove(xcp); }