Exemplo n.º 1
0
 private Localized_Text.Language GetLanguage()
 {
     if (File != null)
     {
         return(LOTD_File.GetLanguageFromFileName(File.Name));
     }
     return(ZibFile != null
         ? LOTD_File.GetLanguageFromFileName(ZibFile.FileName)
         : Localized_Text.Language.Unknown);
 }
Exemplo n.º 2
0
        public ZIB_File GetLocalizedFile(Localized_Text.Language language)
        {
            if (LOTD_File.GetLanguageFromFileName(FileName) == language)
            {
                return(this);
            }

            var fileName = LOTD_File.GetFileNameWithLanguage(FileName, language);

            if (string.IsNullOrEmpty(fileName))
            {
                return(null);
            }
            Owner.Files.TryGetValue(fileName, out var file);
            return(file);
        }
Exemplo n.º 3
0
        public File_Data LoadData(bool cache)
        {
            var fileData = LOTD_File.CreateFileData(LOTD_File.GetFileTypeFromExtension(FileName, Extension));

            if (IsFileOnDisk)
            {
                if (!File.Exists(FilePathOnDisk))
                {
                    return(null);
                }
                fileData.Load(FilePathOnDisk);
                return(fileData);
            }

            if (Owner?.File == null || Offset <= 0 || Length <= 0)
            {
                return(null);
            }
            fileData.ZibFile = this;
            Owner.File.Archive.Reader.BaseStream.Position = Owner.File.ArchiveOffset + Offset;
            fileData.Load(Owner.File.Archive.Reader, Length);
            return(fileData);
        }