public void WriteMonologues(LocalizableStrings monologues) { ArchiveFileEntry msdEntry = (ArchiveFileEntry)_locationDirectory.Childs.TryGetValue(_name + ".msd"); if (msdEntry == null) { if (!monologues.IsNullOrEmpty()) { throw new NotImplementedException(); } return; } using (Stream output = msdEntry.OpenWritableCapacityStream()) using (MsdFileWriter msdWriter = new MsdFileWriter(output)) { msdWriter.WriteAllMonologues(monologues.Select(m => m.Current)); msdEntry.UpdateMetrics((int)output.Position, msdEntry.ContentOffset, Compression.None); } }
private static LocalizableStrings LoadAreaNames() { lock (_glossaryNode) { if (_glossaryNode.Value != null) { XmlElement node = _glossaryNode.Value.GetChildElement("AreaNames"); return(LocalizableString.FromXml(node)); } ArchiveDirectoryEntry dir = Archives.GetEntry <ArchiveDirectoryEntry>(SourcePath); ArchiveFileEntry entry1 = dir.GetChildEntry <ArchiveFileEntry>(AreaNamesFileName); LocalizableStrings result = new LocalizableStrings(256); using (DictionaryFileReader dicReader = new DictionaryFileReader(entry1.OpenReadableContentStream())) foreach (string title in dicReader.Titles) { result.Add(new LocalizableString(title, title)); } return(result); } }