Example #1
0
        public SeperateSongFolder(SongFolderEntry folderEntry)
        {
            SongFolderEntry = folderEntry;
            if (folderEntry.Pack == FolderLevelPack.NewPack)
            {
                LevelCollection = new SongCoreCustomLevelCollection(Levels.Values.ToArray());
                UnityEngine.Sprite image = UI.BasicUI.FolderIcon;
                if (!string.IsNullOrEmpty(folderEntry.ImagePath))
                {
                    try
                    {
                        var packImage = SongCore.Utilities.Utils.LoadSpriteFromFile(folderEntry.ImagePath);
                        if (packImage != null)
                        {
                            image = packImage;
                        }
                    }
                    catch
                    {
                        SongCore.Utilities.Logging.Log($"Failed to Load Image For Seperate Folder \"{folderEntry.Name}\"");
                    }
                }

                LevelPack = new SongCoreCustomBeatmapLevelPack(CustomLevelLoader.kCustomLevelPackPrefixId + folderEntry.Name, folderEntry.Name, image, LevelCollection);
            }
        }
Example #2
0
        public SeperateSongFolder(SongFolderEntry folderEntry, UnityEngine.Sprite Image)
        {
            SongFolderEntry = folderEntry;
            if (folderEntry.Pack == FolderLevelPack.NewPack)
            {
                LevelCollection = new SongCoreCustomLevelCollection(Levels.Values.ToArray());

                LevelPack = new SongCoreCustomBeatmapLevelPack(CustomLevelLoader.kCustomLevelPackPrefixId + folderEntry.Name, folderEntry.Name, Image, LevelCollection);
            }
        }
Example #3
0
        public static List <SeperateSongFolder> ReadSeperateFoldersFromFile(string filePath)
        {
            List <SeperateSongFolder> result = new List <SeperateSongFolder>();

            try
            {
                XDocument file = XDocument.Load(filePath);
                foreach (var item in file.Root.Elements())
                {
                    //           Console.WriteLine("Element Name: " + item.Name);
                    string name = item.Element("Name").Value;
                    if (name == "Example")
                    {
                        continue;
                    }
                    string path      = item.Element("Path").Value;
                    int    pack      = int.Parse(item.Element("Pack").Value);
                    string imagePath = "";
                    var    image     = item.Element("ImagePath");
                    if (image != null)
                    {
                        imagePath = image.Value;
                    }

                    bool isWIP = false;
                    var  wip   = item.Element("WIP");
                    if (wip != null)
                    {
                        isWIP = bool.Parse(wip.Value);
                    }
                    SongFolderEntry entry = new SongFolderEntry(name, path, (FolderLevelPack)pack, imagePath, isWIP);
                    //   Console.WriteLine("Entry");
                    //   Console.WriteLine("   " + entry.Name);
                    //   Console.WriteLine("   " + entry.Path);
                    //   Console.WriteLine("   " + entry.Pack);
                    //    Console.WriteLine("   " + entry.WIP);
                    result.Add(new SeperateSongFolder(entry));
                }
            }
            catch
            {
                Utilities.Logging.Log("Error Reading folders.xml! Make sure the file is properly formatted.", IPA.Logging.Logger.Level.Warning);
            }

            return(result);
        }
Example #4
0
 public ModSeperateSongFolder(SongFolderEntry folderEntry, UnityEngine.Sprite Image) : base(folderEntry, Image)
 {
 }
Example #5
0
 public ModSeperateSongFolder(SongFolderEntry folderEntry) : base(folderEntry)
 {
 }
Example #6
0
        public static List <SeperateSongFolder> ReadSeperateFoldersFromFile(string filePath)
        {
            List <SeperateSongFolder> result = new List <SeperateSongFolder>();

            try
            {
                XDocument file = XDocument.Load(filePath);
                foreach (var item in file.Root.Elements())
                {
                    //           Console.WriteLine("Element Name: " + item.Name);
                    string name = item.Element("Name").Value;
                    if (name == "Example")
                    {
                        continue;
                    }
                    string path      = item.Element("Path").Value;
                    int    pack      = int.Parse(item.Element("Pack").Value);
                    string imagePath = "";
                    var    image     = item.Element("ImagePath");
                    if (image != null)
                    {
                        imagePath = image.Value;
                    }

                    bool isWIP = false;
                    var  wip   = item.Element("WIP");
                    if (wip != null)
                    {
                        isWIP = bool.Parse(wip.Value);
                    }
                    bool zipCaching = false;
                    var  cachezips  = item.Element("CacheZIPs");
                    if (cachezips != null)
                    {
                        zipCaching = bool.Parse(cachezips.Value);
                    }
                    SongFolderEntry entry = new SongFolderEntry(name, path, (FolderLevelPack)pack, imagePath, isWIP, zipCaching);
                    //   Console.WriteLine("Entry");
                    //   Console.WriteLine("   " + entry.Name);
                    //   Console.WriteLine("   " + entry.Path);
                    //   Console.WriteLine("   " + entry.Pack);
                    //    Console.WriteLine("   " + entry.WIP);

                    SeperateSongFolder cachedSeperate = null;
                    if (zipCaching)
                    {
                        FolderLevelPack cachePack;
                        if ((FolderLevelPack)pack == FolderLevelPack.CustomWIPLevels)
                        {
                            cachePack = FolderLevelPack.CachedWIPLevels;
                        }
                        else
                        {
                            cachePack = FolderLevelPack.NewPack;
                        }
                        SongFolderEntry cachedSongFolderEntry = new SongFolderEntry(String.Concat("Cached ", name), Path.Combine(path, "Cache"), cachePack, imagePath, isWIP, false);
                        cachedSeperate = new SeperateSongFolder(cachedSongFolderEntry);
                    }

                    SeperateSongFolder seperate = new SeperateSongFolder(entry, cachedSeperate);
                    result.Add(seperate);
                    if (cachedSeperate != null)
                    {
                        result.Add(cachedSeperate);
                    }
                }
            }
            catch
            {
                Utilities.Logging.Log("Error Reading folders.xml! Make sure the file is properly formatted.", IPA.Logging.Logger.Level.Warning);
            }

            return(result);
        }