public Dictionary <Localized_Text.Language, byte[]> LoadLocalizedBuffer(string search, bool startsWithElseContains) { var result = new Dictionary <Localized_Text.Language, byte[]>(); search = search.ToLower(); var files = Root.GetAllFiles(); foreach (var file in files) { if (file.FileType == File_Types.Zib) { var zibData = file.LoadData <ZIB_Data>(); foreach (var zibFile in zibData.Files.Values) { var language = LOTD_File.GetLanguageFromFileName(zibFile.FileName); if (language == Localized_Text.Language.Unknown) { continue; } if (startsWithElseContains && zibFile.FileName.ToLower().StartsWith(search) || !startsWithElseContains && zibFile.FileName.ToLower().Contains(search)) { result.Add(language, zibFile.LoadBuffer()); } } } else { var language = LOTD_File.GetLanguageFromFileName(file.Name); if (language == Localized_Text.Language.Unknown) { continue; } if (startsWithElseContains && file.Name.ToLower().StartsWith(search) || !startsWithElseContains && file.Name.ToLower().Contains(search)) { result.Add(language, file.LoadBuffer()); } } } return(result); }
public T LoadLocalizedFile <T>() where T : File_Data, new() { var targetFileType = LOTD_File.GetFileType(typeof(T)); var result = new T(); if (!result.IsLocalized) { throw new InvalidOperationException("No Localized File Ready! CHECK CODE PLEASE!"); } var files = Root.GetAllFiles(); foreach (var file in files) { if (file.FileType == File_Types.Zib) { var zibData = file.LoadData <ZIB_Data>(); foreach (var zibFile in zibData.Files.Values) { if (zibFile.FileType == targetFileType) { result.File = null; result.ZibFile = zibFile; result.Load(); } } } else if (file.FileType == targetFileType) { result.File = file; result.ZibFile = null; result.Load(); } } return(result); }
public List <T> LoadFiles <T>() where T : File_Data { var targetFileType = LOTD_File.GetFileType(typeof(T)); var result = new List <T>(); var files = Root.GetAllFiles(); foreach (var file in files) { if (file.FileType == File_Types.Zib) { var zibData = file.LoadData <ZIB_Data>(); foreach (var zibFile in zibData.Files.Values) { if (zibFile.FileType == targetFileType) { var data = zibFile.LoadData <T>(); if (data != null) { result.Add(data); } } } } else if (file.FileType == targetFileType) { var data = file.LoadData <T>(); if (data != null) { result.Add(data); } } } return(result); }