public static PlayerCardCollection Instance()
 {
     if (!playerCardCollection)
     {
         playerCardCollection = FindObjectOfType <PlayerCardCollection>();
     }
     return(playerCardCollection);
 }
    private void displayPlayerCardCollection()
    {
        foreach (GameObject cardGO in PlayerCardCollection.Instance().cardCollection)
        {
            GameObject go = Instantiate(PrefabDictionary.Instance().cardBase, Vector3.zero, Quaternion.Euler(collectionHolder.transform.rotation.eulerAngles + new Vector3(90, 0, 0)), collectionHolder.transform);
            go.AddComponent <PreadventureCardSelector>();
            BaseCard card = go.GetComponent <BaseCard>();
            //Instantiate(PrefabDictionary.Instance().inDeckOverlay, go.transform);
            card.loadCardDetails(cardGO);

            collectionCards.Add(go);
        }
    }
    public void rankUpPreviewCard()
    {
        CardProgress prog = PlayerCardProgress.Instance().cards[currentPreviewedCard.GetComponent <CardDetails>().cardName];

        switch (prog.progress)
        {
        case CardProgression.Unlearned: {
            prog.progress = CardProgression.Trained;
            PlayerCardCollection.Instance().cardCollection.Add(prog.card);
            break;
        }

        case CardProgression.Trained: {
            prog.progress = CardProgression.Adept;
            PlayerCardCollection.Instance().cardCollection.Add(prog.card);
            break;
        }

        case CardProgression.Adept: {
            prog.progress = CardProgression.Proficient;
            break;
        }

        case CardProgression.Proficient: {
            prog.progress = CardProgression.Mastered;
            PlayerCardCollection.Instance().cardCollection.Add(prog.card);
            break;
        }

        case CardProgression.Mastered: {
            prog.progress = CardProgression.Perfected;
            break;
        }
        }
        prog.expPoints = 0;

        loadCardProgress();
        previewCard(prog.card);
    }