public override void handleUpdate(List <PackageUpdate> updates) { IEnumerable <PackageUpdate> relevantUpdates = updates.Where(x => x.change != PackageChange.Import && x.change != PackageChange.ImportAdd && x.change != PackageChange.Names); List <int> updatedExports = relevantUpdates.Select(x => x.index).ToList(); if (Dialog != null && updatedExports.Contains(Dialog.MyIndex)) { //loaded dialog is no longer a dialog if (Pcc.getExport(Dialog.MyIndex).ClassName != "BioConversation") { listBox1.Items.Clear(); listBox2.Items.Clear(); listBox3.Items.Clear(); listBox4.Items.Clear(); listBox5.Items.Clear(); treeView1.Nodes.Clear(); treeView2.Nodes.Clear(); } else { Dialog = new ME1BioConversation(Pcc as ME1Package, Dialog.MyIndex); RefreshTabs(); } updatedExports.Remove(Dialog.MyIndex); } if (updatedExports.Intersect(Objs).Count() > 0) { Objs = new List <int>(); for (int i = 0; i < Pcc.Exports.Count; i++) { if (Pcc.Exports[i].ClassName == "BioConversation") { Objs.Add(i); } } RefreshCombo(); } else { foreach (var i in updatedExports) { if (Pcc.getExport(i).ClassName == "BioConversation") { Objs = new List <int>(); for (int j = 0; j < Pcc.Exports.Count; j++) { if (Pcc.Exports[j].ClassName == "BioConversation") { Objs.Add(j); } } RefreshCombo(); break; } } } }
private void toolStripButton1_Click(object sender, EventArgs e) { int n = toolStripComboBox1.SelectedIndex; if (n == -1) { return; } Dialog = new ME1BioConversation(Pcc as ME1Package, Objs[n]); tlkFileSet.loadData(Dialog.TlkFileSet - 1); if (!ME1TalkFiles.tlkList.Contains(tlkFileSet.talkFiles[tlkFileSet.selectedTLK])) { ME1TalkFiles.tlkList.Add(tlkFileSet.talkFiles[tlkFileSet.selectedTLK]); } RefreshTabs(); }