Beispiel #1
0
        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);
                }
        }
Beispiel #2
0
        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);
            }
        }