private static void DownloadFullPage() { foreach (var song in activeSongList.songs) { MelonCoroutines.Start(SongBrowser.DownloadSong(song.download_url)); } }
private static void CreateSongItem(Song song, OptionsMenu optionsMenu) { var row = new Il2CppSystem.Collections.Generic.List <GameObject>(); var textBlock = optionsMenu.AddTextBlock(0, song.title + " - " + song.artist + " (mapped by " + song.author + ")"); var TMP = textBlock.transform.GetChild(0).GetComponent <TextMeshPro>(); TMP.fontSizeMax = 32; TMP.fontSizeMin = 8; optionsMenu.scrollable.AddRow(textBlock.gameObject); //package data to be used for display SongBrowser.SongDisplayPackage songd = new SongBrowser.SongDisplayPackage(); songd.hasEasy = song.beginner; songd.hasStandard = song.standard; songd.hasAdvanced = song.advanced; songd.hasExpert = song.expert; //if song data loader is installed look for custom tags if (SongBrowser.songDataLoaderInstalled) { songd = SongBrowser.SongDisplayPackage.FillCustomData(songd, song.song_id); } songd.customExpertTags = songd.customExpertTags.Distinct().ToList(); songd.customStandardTags = songd.customStandardTags.Distinct().ToList(); songd.customAdvancedTags = songd.customAdvancedTags.Distinct().ToList(); songd.customEasyTags = songd.customEasyTags.Distinct().ToList(); var downloadButton = optionsMenu.AddButton(0, "Download" + SongBrowser.GetDifficultyString(songd), new Action(() => { MelonCoroutines.Start(SongBrowser.DownloadSong(song.download_url)); TMP.text = "Added song to download queue!"; }), null, null); downloadButton.button.destroyOnShot = true; row.Add(downloadButton.gameObject); var previewButton = optionsMenu.AddButton(1, "Preview", new Action(() => { MelonCoroutines.Start(SongBrowser.StreamPreviewSong(song.preview_url)); }), null, null); row.Add(previewButton.gameObject); optionsMenu.scrollable.AddRow(row); }