public static Scene LoadScene(BinaryReader br, Chapter parent) { // Title and UID read in constructor Scene sc = new Scene(br, parent); sc.Summary = br.ReadString(); sc.Notes = Note.LoadListOfNotes(); int povUID = br.ReadInt32(); if (povUID == 0) { sc.POV = null; } else { foreach (Character ch in parent.ParentBook.ParentSeries.Characters) { if (povUID == ch.UID) { sc.POV = ch; break; } } } return sc; }
/// <summary> /// Context menu: Add scene /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void copAddScene_Click(object sender, EventArgs e) { if (InputStrDialog.Show("Add Scene", "Enter title for scene: ") == DialogResult.OK) { Scene sc = new Scene(InputStrDialog.Result, (Chapter)rightnode.Tag); // Add to tree TreeNode node = new TreeNode(sc.Title); rightnode.Nodes.Add(node); node.Tag = sc; SetTreeNodeIcons(node); // Add to SortView ListViewItem lvi = new ListViewItem(sc.Title); lvi.SubItems.Add(""); sortScenes.AddItem(lvi); // Check if file already exists if (File.Exists(sc.Filename)) { string backup_fn = sc.Filename + DateTime.UtcNow.Ticks; File.Move(sc.Filename, backup_fn); MessageBox.Show("File " + sc.Filename + " already exists\n" + "Original been moved to " + backup_fn, "Scene file already exists!", MessageBoxButtons.OK, MessageBoxIcon.Warning); } File.Create(sc.Filename).Close(); } treeSeries.SelectedNode = selnode; }
/// <summary> /// Search recursively through series until series is found. Delete series and its UID. /// </summary> /// <param name="scene"></param> public void DeleteScene(Scene scene, Chapter chapter) { chapter.Scenes.Remove(scene); Scene.deletedUIDS.Add(scene.UID); }