public void UnpackAllNotes() { notes = new SortedSet <Note>(new NoteComparer()); foreach (string s in packedNotes) { notes.Add(Note.Unpack(s)); } foreach (string s in packedHoldNotes) { notes.Add(HoldNote.Unpack(s)); } foreach (PackedDragNote n in packedDragNotes) { notes.Add(DragNote.Unpack(n)); } }
public Note Clone() { // If performance is necessary, then do it type-by-type and // field-by-field, as in NoteV1.Clone. if (this is HoldNote) { return(HoldNote.Unpack(Pack())); } else if (this is DragNote) { return(DragNote.Unpack((this as DragNote).Pack())); } else { return(Note.Unpack(Pack())); } }