Example #1
0
    public DragAndDropItem CreateBox(KeyValuePair <int, Color32> item, RectTransform rect)
    {
        DragAndDropItem it = Instantiate(box, rect, false);

        it.GetComponent <Image>().color = item.Value;

        RectTransform r = it.GetComponent <RectTransform>();

        r.sizeDelta = GetMenuSize();

        it.GetComponentInChildren <Text>().text = LayersConstants.LAYER_NAMES[item.Key];

        it.GetComponentInChildren <Text>().color = new Color32(255, 255, 255, 255);

        it.name = LayersConstants.LAYER_NAMES[item.Key];

        it.isIcon = true;

        return(it);
    }
        public void AttackwithCard(DragAndDropCell cardSlot, DragAndDropItem draggedCardImage)
        {
            //Not sure why I have to re-apply the image??
            Image  cardImage  = draggedCardImage.GetComponentInChildren <Image>();
            string spriteName = cardImage.sprite.name;

            draggedCardImage.GetComponentInChildren <Image>().sprite = Resources.Load <Sprite>("PlayingCards/" + spriteName);

            int cardNumber  = Convert.ToInt32(Regex.Replace(spriteName, "_.*", ""));
            int suiteNumber = GetSuiteNumber(Regex.Replace(spriteName, ".*_", ""));

            CardConstants.Card  card      = (CardConstants.Card)cardNumber;
            CardConstants.Suite suite     = (CardConstants.Suite)suiteNumber;
            CardValue           cardValue = new CardValue(card, suite);

            Debug.Log("CardNumber: " + cardNumber + " SuiteNumber: " + suiteNumber);

            GameObject.Destroy(cardSlot.gameObject);
            Deck.Singleton.DiscardPlayedCard(cardValue);

            //Send Match message that an attack was made <cardNum>:<suiteName>
            if (!gameTesting)
            {
                MatchController.Singleton.SendMatchData(4, cardNumber + ":" + suiteNumber);
            }

            StartCoroutine(ShowDamage(oppDamageCG));
            GameData.Singleton.OpponentHealth      -= cardNumber;
            GameData.Singleton.PlayerScore         += (cardNumber * 10) / currentRound;
            GameData.Singleton.PlayerDamage        += cardNumber;
            GameData.Singleton.OpponentDamageTaken += cardNumber;
            if (GameData.Singleton.OpponentHealth < 1)
            {
                OpponentDied();
            }

            NewTurn(oppNumber);
            MatchController.Singleton.SendMatchData(oppNumber, "");
        }