コード例 #1
0
 public void DrawToken(Transform player, int damage, string type)
 {
     CardDatabase.Card token = new CardDatabase.Card {
         id     = "Token",
         name   = "Token",
         damage = damage,
         type   = type
     };
     player.GetComponent <Properties>().tokensToDraw.Add(token);
 }
コード例 #2
0
    public void DrawCardById(Transform player, string id)
    {
        if (player.GetComponent <Properties>().numberOfCards > 4 || id == "Nothing")
        {
            return;
        }
        CardDatabase.Card card     = GameObject.Find("CardDatabase").GetComponent <CardDatabase>().GetCardById(id);
        Transform         cardslot = player.Find("Cardslot" + player.GetComponent <Properties>().numberOfCards.ToString());

        //if less than 5 cards, actually draw the new card
        if (player.GetComponent <Properties>().numberOfCards < 5)
        {
            cardslot.Find("Name").GetComponent <Text>().text          = card.name;
            cardslot.Find("Damage").GetComponent <Text>().text        = card.damage.ToString();
            cardslot.Find("Image").GetComponent <Image>().sprite      = Resources.Load <Sprite>("Cards/" + card.name + "/Image");
            cardslot.Find("Frame").GetComponent <Image>().sprite      = Resources.Load <Sprite>(card.rarity + "Frame");
            cardslot.Find("Type").GetComponent <Image>().sprite       = Resources.Load <Sprite>(card.type);
            cardslot.Find("Activation").GetComponent <Image>().sprite = Resources.Load <Sprite>(card.activation);
            if (card.limited)
            {
                cardslot.Find("Limited").GetComponent <Image>().sprite = Resources.Load <Sprite>("LimitedSymbol");
            }
            else
            {
                cardslot.Find("Limited").GetComponent <Image>().sprite = Resources.Load <Sprite>("Nothing");
            }
            if (card.unique)
            {
                cardslot.Find("Unique").GetComponent <Image>().sprite = Resources.Load <Sprite>("UniqueSymbol");
            }
            else if (card.rarity == "SR")
            {
                cardslot.Find("Unique").GetComponent <Image>().sprite = Resources.Load <Sprite>("SRSymbol");
            }
            else
            {
                cardslot.Find("Limited").GetComponent <Image>().sprite = Resources.Load <Sprite>("Nothing");
            }
            if (player.GetComponent <Properties>().jinMutated&& card.mutatedTextEN != null)
            {
                switch (language)
                {
                case "EN":
                    cardslot.Find("Text").GetComponent <Text>().text = card.mutatedTextEN;
                    break;
                }
            }
            else
            {
                switch (language)
                {
                case "EN":
                    cardslot.Find("Text").GetComponent <Text>().text = card.textEN;
                    break;
                }
            }
            if (GameObject.Find("BattleScreen").GetComponent <BattleScreen>().view == "Name")
            {
                cardslot.Find("Name").GetComponent <Text>().enabled = true;
                cardslot.Find("Text").GetComponent <Text>().enabled = false;
            }
            else
            {
                cardslot.Find("Name").GetComponent <Text>().enabled = false;
                cardslot.Find("Text").GetComponent <Text>().enabled = true;
            }

            player.GetComponent <Properties>().currentCardDamage[player.GetComponent <Properties>().numberOfCards]
                = card.damage;
            player.GetComponent <Properties>().cardsInPlay[player.GetComponent <Properties>().numberOfCards] = card;
            player.GetComponent <Properties>().numberOfCards++;

            if (card.activation == "onAppear")
            {
                foreach (Func <bool> effect in card.effect)
                {
                    effect();
                }
            }
            cardslot.GetComponent <Animator>().Play("FadeIn");
        }
    }