public TableCell CellForRow(int row)
        {
            LevelListTableCell cell = Instantiate(_presetsTableCellInstance);

            RoomPreset preset = availablePresets[row];

            cell.GetComponentsInChildren <UnityEngine.UI.Image>(true).First(x => x.name == "CoverImage").enabled = false;

            cell.songName = $"{preset.GetName()}";
            cell.author   = $"{preset.settings.Name}";

            cell.reuseIdentifier = "PresetCell";

            return(cell);
        }
        public static void ReloadPresets()
        {
            try
            {
                loadedPresets.Clear();

                if (!Directory.Exists(Path.Combine(Environment.CurrentDirectory, "UserData")))
                {
                    Directory.CreateDirectory(Path.Combine(Environment.CurrentDirectory, "UserData"));
                }

                if (!Directory.Exists(Path.Combine(Path.Combine(Environment.CurrentDirectory, "UserData"), "RoomPresets")))
                {
                    Directory.CreateDirectory(Path.Combine(Path.Combine(Environment.CurrentDirectory, "UserData"), "RoomPresets"));
                }

                List <string> presetFiles = Directory.GetFiles(Path.Combine(Path.Combine(Environment.CurrentDirectory, "UserData"), "RoomPresets"), "*.json").ToList();

                Plugin.log.Info($"Found {presetFiles.Count} presets in RoomPresets folder");

                foreach (string path in presetFiles)
                {
                    try
                    {
                        RoomPreset preset = RoomPreset.LoadPreset(path);
                        loadedPresets.Add(preset);
                        Plugin.log.Debug($"Found preset \"{preset.GetName()}\"");
                    }
                    catch (Exception e)
                    {
                        Plugin.log.Error($"Unable to parse preset @ {path}! Exception: {e}");
                    }
                }
            }
            catch (Exception e)
            {
                Plugin.log.Error("Unable to load presets! Exception: " + e);
            }
        }
Example #3
0
        public TableCell CellForIdx(int row)
        {
            LevelListTableCell cell = Instantiate(_presetsTableCellInstance);

            RoomPreset preset = availablePresets[row];

            cell.GetComponentsInChildren <UnityEngine.UI.Image>(true).First(x => x.name == "CoverImage").enabled = false;

            cell.SetText($"{preset.GetName()}");
            cell.SetSubText($"{preset.settings.Name}");

            cell.reuseIdentifier = "PresetCell";

            cell.SetPrivateField("_beatmapCharacteristicAlphas", new float[0]);
            cell.SetPrivateField("_beatmapCharacteristicImages", new UnityEngine.UI.Image[0]);
            cell.SetPrivateField("_bought", true);
            foreach (var icon in cell.GetComponentsInChildren <UnityEngine.UI.Image>().Where(x => x.name.StartsWith("LevelTypeIcon")))
            {
                Destroy(icon.gameObject);
            }

            return(cell);
        }
Example #4
0
 public PresetListObject(RoomPreset preset)
 {
     this.preset    = preset;
     presetName     = preset.GetName();
     presetRoomName = preset.settings.Name;
 }