Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }