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); }
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); }
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); }