Alexandria.Engines.DarkSouls.Engine.GetStringArchive C# (CSharp) Метод

GetStringArchive() публичный статический Метод

Get the string archive from the ItemArchiveId.
public static GetStringArchive ( Archive baseArchive, ItemArchiveId id, System.Language language = Language.English ) : StringArchive
baseArchive Archive
id ItemArchiveId
language System.Language
Результат StringArchive
        public static StringArchive GetStringArchive(Archive baseArchive, ItemArchiveId id, Language language = Language.English)
        {
            Archive itemArchive = GetItemLanguageArchive(baseArchive, language);
            if (itemArchive == null)
                return null;
            ArchiveRecord record = itemArchive.FindRecordById((int)id);
            if (record == null)
                return null;
            Asset contents = record.Contents;
            return contents as StringArchive;
        }

Usage Example

Пример #1
0
        /// <summary>
        /// Get the localised string archive.
        /// </summary>
        /// <param name="archive"></param>
        /// <param name="language"></param>
        /// <returns></returns>
        public StringArchive GetLocalisedStringArchive(Engine.ItemArchiveId archive, Language language = Language.English)
        {
            if (archive == Engine.ItemArchiveId.None)
            {
                return(null);
            }

            Dictionary <Language, StringArchive> dictionary;
            Archive root = RootArchive;

            if (root == null)
            {
                return(null);
            }

            dictionary = StringArchives.GetValueOrCreate(archive);
            StringArchive stringArchive = dictionary.TryGetValue(language);

            if (stringArchive == null)
            {
                dictionary[language] = stringArchive = Engine.GetStringArchive(root, archive, language);
            }
            return(stringArchive);
        }