public void SaveFile() { if (pcc == null) { return; } if (CodexMapControl != null) { IExportEntry export; int dataOffset; if (CodexMapView.TryFindCodexMap(pcc, out export, out dataOffset)) { using (var stream = new MemoryStream()) { var codexMap = CodexMapControl.ToCodexMap(); var binaryCodexMap = new BinaryBioCodexMap(codexMap.Sections, codexMap.Pages); binaryCodexMap.Save(stream); export.setBinaryData(stream.ToArray()); } } } if (QuestMapControl != null) { IExportEntry export; int dataOffset; if (QuestMapControl.TryFindQuestMap(pcc, out export, out dataOffset)) { using (var stream = new MemoryStream()) { var questMap = QuestMapControl.ToQuestMap(); var binaryQuestMap = new BinaryBioQuestMap(questMap.Quests, questMap.BoolTaskEvals, questMap.IntTaskEvals, questMap.FloatTaskEvals); binaryQuestMap.Save(stream); export.setBinaryData(stream.ToArray()); } } } if (StateEventMapControl != null) { IExportEntry export; int dataOffset; if (StateEventMapControl.TryFindStateEventMap(pcc, out export, out dataOffset)) { using (var stream = new MemoryStream()) { var stateEventMap = StateEventMapControl.ToStateEventMap(); var binaryStateEventMap = new BinaryBioStateEventMap(stateEventMap.StateEvents); binaryStateEventMap.Save(stream); export.setBinaryData(stream.ToArray()); } } } pcc.save(FileName); }