コード例 #1
0
    public void AddCard(CardVariable c)
    {
        deck.Add(c);
        index++;

        UpdateText();
    }
コード例 #2
0
 private void Populate()
 {
     for (int i = 0; i < 8; i++)
     {
         CardVariable c = new CardVariable(CardCache.Instance.GetCard("Attack"));
         AddCard(c);
     }
 }
コード例 #3
0
    //Used by CardVariable to create CardObj in Game
    public void CreateCardObject(CardVariable cardVar)
    {
        GameObject newCard = GameObject.Instantiate(PrefabCache.Instance.cardPrefab, HandManager.Instance.transform);
        CardObject cardObj = newCard.GetComponent <CardObject>();

        cardObj.SetCardVar(cardVar);
        cardVar.cardObject = cardObj;
    }
コード例 #4
0
    public CardVariable PopRandom()
    {
        int index = Random.Range(0, discard.Count);

        CardVariable cv = discard[index];

        discard.RemoveAt(index);

        return(cv);
    }
コード例 #5
0
    public void SetCardVar(CardVariable cv)
    {
        if (cv == null)
        {
            return;
        }
        cardVar = cv;

        disp.SetCard(cv.card);
    }
コード例 #6
0
    //draws one card
    public void Draw()
    {
        CardVariable cardVar = DeckManager.Instance.Pop();

        //Out of cards
        if (cardVar == null)
        {
            return;
        }

        cardVar.CreateObject();

        hand.Add(cardVar);
        UpdateCardLayout();
    }
コード例 #7
0
    public CardVariable Pop()
    {
        if (isEmpty())
        {
            RefillFromDiscard();
        }

        CardVariable c = deck[index - 1];

        deck.RemoveAt(index - 1);
        index--;

        UpdateText();

        return(c);
    }
コード例 #8
0
    public void ResolveBattle(CardVariable currentCard, CardInstance targetCard)
    {
        var currentCardAttack = currentCard.value.currentAttack;
        var currentCardHp     = currentCard.value.currentHp;

        var targetCardAttack = targetCard.currentAttack;
        var targetCardHp     = targetCard.currentHp;

        // damage self
        currentCardHp -= targetCardAttack;
        // damage target
        targetCardHp -= currentCardAttack;

        //update UI
        currentCard.value.cardViz.UpdateHealthUI(currentCardHp);
        targetCard.cardViz.UpdateHealthUI(targetCardHp);

        // resolve
        if (currentCardHp < 1)
        {
            currentCard.value.DestroySelf();
        }
        else
        {
            currentCard.value.currentHp = currentCardHp;
        }

        if (targetCardHp < 1)
        {
            targetCard.DestroySelf();
        }
        else
        {
            targetCard.currentHp = targetCardHp;
        }
    }
コード例 #9
0
 public void AddCard(CardVariable c)
 {
     discard.Add(c);
 }
コード例 #10
0
 public void RemoveCard(CardVariable cardVar)
 {
     hand.Remove(cardVar);
 }