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, ""); }