public IEnumerator UpdateCardGame(UnityCardGame cardGame) { if (cardGame == null) { cardGame = Current; } Progress.Show(cardGame); yield return(cardGame.Download()); Progress.Hide(); // Notify about the failed update, but otherwise ignore errors if (!string.IsNullOrEmpty(cardGame.Error)) { Debug.LogError(DownloadErrorMessage + cardGame.Error); Messenger.Show(DownloadErrorMessage + cardGame.Error); cardGame.ClearError(); } cardGame.Load(UpdateCardGame, LoadCards, LoadSetCards); if (cardGame == Current) { ResetGameScene(); } }
private IEnumerator DownloadCardGame(string gameUrl) { var cardGame = new UnityCardGame(this, CardGame.DefaultName, gameUrl); Progress.Show(cardGame); yield return(cardGame.Download()); Progress.Hide(); cardGame.Load(UpdateCardGame, LoadCards, LoadSetCards); if (!string.IsNullOrEmpty(cardGame.Error)) { Debug.LogError(DownloadErrorMessage + cardGame.Error); Messenger.Show(DownloadErrorMessage + cardGame.Error); if (!Directory.Exists(cardGame.GameDirectoryPath)) { yield break; } try { Directory.Delete(cardGame.GameDirectoryPath, true); } catch (Exception ex) { Debug.LogError(DeleteErrorMessage + ex.Message); } } else { AllCardGames[cardGame.Id] = cardGame; Select(cardGame.Id); } }