예제 #1
0
    public void OnPlayCardAsMana(ServerActions.PlayCardAsManaAction action)
    {
        var         cardTransform = cardIdToCards[action.cardId];
        CardDisplay cardDisplay   = cardTransform.GetComponent <CardDisplay>();

        this.playerStacks[action.playerId].manaPool.GetComponent <StackDisplay>().AddCard(cardDisplay);

        if (action.tapped)
        {
            cardDisplay.Tap();
        }

        cardDisplay.FaceDown();
        cardDisplay.SwitchToDefaultZoomView();
    }
예제 #2
0
    private CardDisplay CreateCardIn(CardData cardData, string playerId, Transform stack)
    {
        Transform newCard = (Transform)Instantiate(CardPrefab, new Vector2(0, 0), new Quaternion());

        cardIdToCards.Add(cardData.id, newCard);

        CardDisplay cardDisplay = newCard.GetComponent <CardDisplay>();

        cardsContainer.AddCard(cardDisplay);

        cardData.ownerId     = playerId;
        cardDisplay.cardData = cardData;

        stack.GetComponent <StackDisplay>().AddCard(cardDisplay);

        if (cardData.alive)
        {
            boardCreator.CreateUnit(cardDisplay, new Point(cardData.x, cardData.y));
        }

        if (stack.GetComponent <StackDisplay>().IsFaceUp)
        {
            cardDisplay.FaceUp();
        }
        else
        {
            cardDisplay.FaceDown();
        }

        if (cardData.tapped)
        {
            cardDisplay.Tap();
        }

        if (cardData.hero)
        {
            if (playerId == GameState.mainPlayerId)
            {
                boardCreator.allyHeroes.Add(cardDisplay);
            }
        }

        return(cardDisplay);
    }