private void CountsDownloadItems(downloadCheckResponse jsnData) { // PlayerPrefs.DeleteAll(); //ユーザ情報を初期化したい場合にコメントアウトを解除 int key = 1; List <int> downloadList = new List <int>(); foreach (musicList music in jsnData.music) { if (PlayerPrefs.GetString("music_" + key) == "" || PlayerPrefs.GetString("music_" + key) != music.updated_at) { Debug.Log("RESET: key=" + key); downloadList.Add(key); PlayerPrefs.SetString("music_" + key, music.updated_at); } key++; } if (!(downloadList?.Count > 0)) { SelectScreenTransition(); } else { Download(jsnData, downloadList); } }
private void Download(downloadCheckResponse jsnData, List <int> downloadList) { foreach (int downloadNum in downloadList) { this.Percent.text = "Download (" + downloadNum + " / " + downloadList.Count + ")"; DownloadMusic(jsnData.music[downloadNum - 1].name, jsnData.music[downloadNum - 1].url_music); if (downloadNum == downloadList.Count) { SelectScreenTransition(); //TODO: 同期関数に変更したい } } }
private void ResponseCheck(string data) { downloadCheckResponse jsnData = JsonUtility.FromJson <downloadCheckResponse>(data); if (jsnData.success) { CountsDownloadItems(jsnData); } else { Debug.Log("通信に失敗しました"); } }