internal void HandleDidPressDownload(BeatSaverSharp.Beatmap song, Texture2D cover) { Plugin.log.Info("Download pressed for song: " + song.Metadata.SongName); // Misc.SongDownloader.Instance.DownloadSong(song); _songDetailView.UpdateDownloadButtonStatus(); _downloadQueueView.EnqueueSong(song, cover); }
private void HandleDidPressDownload(Beatmap song, Sprite cover) { Plugin.Log.Info($"Download pressed for song: {song.Metadata.SongName}"); _songDetailView.UpdateDownloadButtonStatus(); _downloadQueueView.EnqueueSong(song, cover); }
private void _songDetailViewController_downloadButtonPressed(Song song) { if (!SongDownloader.Instance.IsSongDownloaded(song)) { _downloadQueueViewController.EnqueueSong(song, true); _songDetailViewController.SetDownloadState(DownloadState.Downloading); } else { _simpleDialog.Init("Delete song", $"Do you really want to delete \"{song.songName} {song.songSubName}\"?", "Delete", "Cancel", (selectedButton) => { DismissViewController(_simpleDialog, null, false); if (selectedButton == 0) { DeleteSong(_lastSelectedSong); } }); PresentViewController(_simpleDialog, null, false); } }
public IEnumerator DownloadPlaylist(Playlist playlist) { PlaylistsCollection.MatchSongsForPlaylist(playlist, true); List <PlaylistSong> needToDownload = playlist.songs.Where(x => x.level == null).ToList(); Logger.Log($"Need to download {needToDownload.Count} songs"); _downloadingPlaylist = true; foreach (var item in needToDownload) { Song beatSaverSong = null; if (String.IsNullOrEmpty(playlist.customArchiveUrl)) { Logger.Log("Obtaining hash and url for " + item.key + ": " + item.songName); yield return(GetInfoForSong(playlist, item, (Song song) => { beatSaverSong = song; })); } else { string archiveUrl = playlist.customArchiveUrl.Replace("[KEY]", item.key); beatSaverSong = new Song() { songName = item.songName, id = item.key, downloadingProgress = 0f, hash = (item.levelId == null ? "" : item.levelId), downloadUrl = archiveUrl }; } if (beatSaverSong != null && !SongLoader.CustomLevels.Any(x => x.levelID.Substring(0, 32) == beatSaverSong.hash.ToUpper())) { _downloadQueueViewController.EnqueueSong(beatSaverSong, true); } } _downloadingPlaylist = false; }
private void _songDetailViewController_downloadButtonPressed(Song song) { if (!SongDownloader.Instance.IsSongDownloaded(song)) { _downloadQueueViewController.EnqueueSong(song, true); _songDetailViewController.SetDownloadState(DownloadState.Downloading); } else { _simpleDialog.Init("Delete song", $"Do you really want to delete \"{ song.songName} {song.songSubName}\"?", "Delete", "Cancel"); _simpleDialog.didFinishEvent -= (SimpleDialogPromptViewController sender, bool delete) => { DismissViewController(_simpleDialog, null, false); if (delete) { DeleteSong(song); } }; _simpleDialog.didFinishEvent += (SimpleDialogPromptViewController sender, bool delete) => { DismissViewController(_simpleDialog, null, false); if (delete) { DeleteSong(song); } }; PresentViewController(_simpleDialog, null, false); } }