示例#1
0
    public void addCard(CardData newCard)
    {
        bool cardAlreadyInList = false;

        foreach (CardAmountPair pair in cardList)
        {
            if (pair.cardId == newCard.id)
            {
                cardAlreadyInList = true;
                if (pair.amount == maxCopiesOfCard) // can't put more than 3 cards in deck
                {
                    return;
                }
                pair.cardInDeckBuilder.incrementAmount();
                pair.amount++;
                resetCardBarPositions();
                break;
            }
        }

        if (!cardAlreadyInList)
        {
            CardInDeckBuilder newCardInDeckBuilder = Instantiate(cardInDeckBuilderPrefab, scollTransform);
            newCardInDeckBuilder.setToCard(newCard, this);
            cardList.Add(new CardAmountPair(newCard.id, 1, newCardInDeckBuilder));
            resetCardBarPositions();
        }
        cardCount++;
        cardCountText.text = "Card Count: " + cardCount;
        unsavedChanges     = true;
        cardsView.notifyAddCard(newCard.id);
    }
示例#2
0
    private void resetCardBarPositions()
    {
        Debug.Log("resetting bar positions");
        cardList.Sort();
        // should probably sort here first
        int       index = 0;
        Transform t     = scroller.contentTransform;

        foreach (CardAmountPair pair in cardList)
        {
            CardInDeckBuilder cardInDeckBuilder = pair.cardInDeckBuilder;
            Vector3           newPosition       = new Vector3(t.position.x + cardBarXOffset, t.position.y + cardBarYOffset + (index * cardBarCoeff), -1);
            cardInDeckBuilder.transform.position = newPosition;
            index++;
        }
        float scrollerNewMaxY = scrollerOffset + scrollerCoefficient * index;

        if (scrollerNewMaxY < 0f)
        {
            scrollerNewMaxY = 0f;
        }
        scroller.maxY = scrollerNewMaxY;
    }
示例#3
0
 public CardAmountPair(int cardId, int v, CardInDeckBuilder newCardInDeckBuilder)
 {
     this.cardId       = cardId;
     amount            = v;
     cardInDeckBuilder = newCardInDeckBuilder;
 }