KFreonLib.Textures.ME2Texture2D.ChooseNewCache C# (CSharp) Метод

ChooseNewCache() приватный Метод

private ChooseNewCache ( string bioPath, int buffLength ) : void
bioPath string
buffLength int
Результат void
        private void ChooseNewCache(string bioPath, int buffLength)
        {

            if (File.Exists(MEDirectories.MEDirectories.CachePath))
            {
                FileInfo cacheInfo = new FileInfo(MEDirectories.MEDirectories.CachePath);
                string cacheName = Path.GetFileNameWithoutExtension(MEDirectories.MEDirectories.CachePath);
                string cacheFileName = Path.GetFileName(MEDirectories.MEDirectories.CachePath);
                string rootFolder = Path.GetDirectoryName(MEDirectories.MEDirectories.CachePath);

                if (!cacheInfo.Exists)
                    MakeCache(cacheInfo.FullName, bioPath);

                MoveCaches(rootFolder, cacheFileName);
                properties["TextureFileCacheName"].Value.StringValue = cacheName;
                arcName = cacheName;
                FullArcPath = cacheInfo.FullName;
            }
            else
            {
                int i = 0;
                string CustCache = "CustTextures";
                while (i < 100)
                {
                    FileInfo cacheInfo = new FileInfo(Path.Combine(bioPath, "CookedPC", CustCache + i + ".tfc"));

                    if (!cacheInfo.Exists)
                    {
                        MakeCache(cacheInfo.FullName, bioPath);
                        MoveCaches(bioPath + "\\CookedPC", CustCache + i + ".tfc");
                        properties["TextureFileCacheName"].Value.StringValue = CustCache + i;
                        arcName = CustCache + i;
                        FullArcPath = cacheInfo.FullName;
                        return;
                    }
                    else if (cacheInfo.Length + buffLength + ArcDataSize < 0x80000000)
                    {
                        MoveCaches(bioPath + "\\CookedPC", CustCache + i + ".tfc");
                        properties["TextureFileCacheName"].Value.StringValue = CustCache + i;
                        arcName = CustCache + i;
                        FullArcPath = cacheInfo.FullName;
                        return;
                    }
                    i++;
                }
            }
            
        }