/// <summary> /// Loads every saved beatmap to the list /// </summary> public void LoadBeatmaps() { // Initialize empty list Beatmaps = new ObservableCollection <BeatmapListItemViewModel>(); // Load everything from file var fileContent = File.ReadAllLines("beatmaps.txt"); // Convert file content into beatmaps for (int i = 0; i < fileContent.Length; i++) { // Get url line var difficultyUrl = fileContent[i]; // Convert it to beatmap var beatmap = BeatmapWebHelpers.GetBeatmapFromUrl(difficultyUrl); // Add it to the main list IoC.UI.DispatcherThreadAction(() => Beatmaps.Add(beatmap)); } }
/// <summary> /// Checks every listed beatmap for mods /// </summary> private async Task CheckMods() { // In the background, check for new mods await RunCommandAsync(() => ProcessingBeatmaps, async() => BeatmapWebHelpers.CheckMods()); }
/// <summary> /// Adds new beatmap to the list based on user's input /// </summary> private async Task AddUserBeatmap() { // In the background, add the beatmap to the list based on input await RunCommandAsync(() => ProcessingBeatmaps, async() => IoC.BeatmapManager.AddBeatmap(BeatmapWebHelpers.GetBeatmapFromUrl(BeatmapUrl))); // Clear url box so its easier to provide next one BeatmapUrl = string.Empty; }