//Set attributes for card buttons. This should be called when card list is updated to update the button appearance void SetCardButtonAttr(GameObject button, GameObject card) { CardButtonScript cbs = button.GetComponent <CardButtonScript>(); cbs.card = card; cbs.cardName.text = cbs.card.name; //Access cbs CardName to set name //cbs.damage.text = cbs.card; //cbs.cardImage = Image... Whenever we get images cbs.card = card; }
//卡牌点击 public void cardTapped(CardButtonScript cardSpriteScript) { UserObject selfUserObject = ModelManager.shareInstance().getSelfUserObject(); DeskChuPaiObject deskChuPaiObject = ModelManager.shareInstance().getDeskChuPaiObject(); if (deskChuPaiObject.getNextUserObject().getId() == selfUserObject.getId()) { if (deskChuPaiObject.getIsNextUserMustChuPai()) { //必须出牌,不出和提示按钮不能点 ButtonHelper.setBuChuButtonEnabled(false); ButtonHelper.setTiShiButtonEnabled(false); } else { //四个按钮都允许高亮 ButtonHelper.setBuChuButtonEnabled(true); ButtonHelper.setTiShiButtonEnabled(true); } //UP的牌张数大于0重选和出牌按钮允许,否则禁止 cardSpriteScript.getTopParentScript().getCardSpriteScriptByTag(cardSpriteScript.getTag()).triggerMoveUpDown(); List<int> upStatusCards = CardSpriteHelper.getSelfUserUpCards(); if (upStatusCards.Count > 0) { SoundHelper.playCardTappedSound(); ButtonHelper.setChongXuanButtonEnabled(true); ButtonHelper.setChuPaiButtonEnabled(true); } else { ButtonHelper.setChongXuanButtonEnabled(false); ButtonHelper.setChuPaiButtonEnabled(false); } } }
public static void addSelfUserCards(List<int> cards, bool isDiZhu, CardButtonScript.TouchCallBack cardTouchCallBack) { if (null != GameObject.Find(SpriteNameConst.SELF_USER_CARDS_NAME)) return; Transform bgPrefab = Resources.Load<Transform>("prefab/cardSprite/cardBg"); Transform bgTransform = Instantiate(bgPrefab, new Vector3(0f, -2.5f, 1f), Quaternion.identity) as Transform; bgTransform.gameObject.name = SpriteNameConst.SELF_USER_CARDS_NAME; Transform cardPrefab = Resources.Load<Transform>("prefab/cardSprite/cardSprite"); Transform buttonCanvasPrefab = Resources.Load<Transform>("prefab/cardSprite/cardButtonCanvas"); List<int> sortedCards = Card.sortCardsByCardNumber(cards); for (int i = 0; i < sortedCards.Count; i++) { Transform cardTransform = Instantiate(cardPrefab, new Vector3(0, 1, 0.01f), Quaternion.identity) as Transform; CardSpriteScript cardSpriteScript = (CardSpriteScript)cardTransform.gameObject.GetComponent<CardSpriteScript>(); cardSpriteScript.setParent(bgTransform); cardSpriteScript.setLayerIndex(i + 1); cardSpriteScript.setCardNumber(sortedCards[i], isDiZhu); Vector3 size = cardSpriteScript.getSize(); float cardWidth = size.x; float cardSpace = (float)(cardWidth * 0.5); float cardTotalWidth = cardWidth + (sortedCards.Count - 1) * cardSpace; float x = -cardTotalWidth / 2 + cardSpace * (i + 1); cardSpriteScript.moveTo(new Vector3(x, 0f, 0.01f)); cardSpriteScript.turnToFront(); Transform buttonCanvasTransform = Instantiate(buttonCanvasPrefab, new Vector3(0, 1, 0.01f), Quaternion.identity) as Transform; CardButtonScript cardButtonScript = (CardButtonScript)buttonCanvasTransform.FindChild("Button").gameObject.GetComponent<CardButtonScript>(); cardButtonScript.setParent(bgTransform); cardButtonScript.setTag(sortedCards[i]); cardButtonScript.setTouchEnabled(true); cardButtonScript.setTouchCallBack(cardTouchCallBack); cardButtonScript.moveTo(new Vector3(x, 0f, 0.01f)); } bgTransform.localScale = new Vector3(0.8f, 0.8f, 1.0f); }