public void SelectCardGame(string gameName, string gameUrl)
 {
     if (string.IsNullOrEmpty(gameName) || !AllCardGames.ContainsKey(gameName))
     {
         StartCoroutine(DownloadCardGame(gameUrl));
         return;
     }
     SelectCardGame(gameName);
 }
        public void SelectCardGame(string gameName)
        {
            if (string.IsNullOrEmpty(gameName) || !AllCardGames.ContainsKey(gameName))
            {
                Debug.LogError(InvalidGameSelectionMessage);
                Selector.Show();
                return;
            }

            Current = AllCardGames[gameName];
            DoGameSceneActions();
        }
        public void Select(string gameId)
        {
            if (string.IsNullOrEmpty(gameId) || !AllCardGames.ContainsKey(gameId))
            {
                Debug.LogError(SelectionErrorMessage);
                Messenger.Show(SelectionErrorMessage);
                return;
            }

            Current = AllCardGames[gameId];
            ResetGameScene();
        }
        public void Select(string gameId)
        {
            if (string.IsNullOrEmpty(gameId) || !AllCardGames.ContainsKey(gameId))
            {
                (_, string gameUrl) = CardGame.Decode(gameId);
                if (!Uri.IsWellFormedUriString(gameUrl, UriKind.Absolute))
                {
                    Debug.LogError(SelectionErrorMessage);
                    Messenger.Show(SelectionErrorMessage);
                }
                else
                {
                    StartCoroutine(DownloadCardGame(gameUrl));
                }
                return;
            }

            Current = AllCardGames[gameId];
            ResetGameScene();
        }