public void createCardObject(int pos) { if (MineFightData.getInstance().cardsNumber() > 0) { CardData cardData = MineFightController.getInstance().substitute(pos); Card card = Card.create(cardData); card.setParent(parentGame); card.setPosition(new Vector3(Screen.width, 0, 0)); card.setScale(doSize); card.moveTo(viewPosList[pos]); viewCardDic.Add(pos, card); EventListener eve = EventListener.Get(card.getObj()); eve.onDown = BtnCallBack; eve.DOKill(); initOutCardRule(); } }
public void DestroyCardsObject(Card card) { int pos = card.cardData.Pos; int id = viewCardDic[pos].getCardData().getId(); //清理数据 MineFightController.getInstance().destroy(id); card.DestoryCard(); //移除表现对象 viewCardDic.Remove(pos); createCardObject(pos); _mineCardNumsObj.text = (MineFightData.getInstance().cardsNumber() + MineFightData.getInstance().usingCardsNumber()).ToString(); shake(); }
// Use this for initialization void Start() { clearnDictionary(); MineFightController.getInstance().initMineFightData(); _mineCardNumsObj = mineCardNumsObj; _mineCardNumsObj.text = MineFightData.getInstance().cardsNumber().ToString(); _hpObj = hpObj; _hpObj.text = MineFightData.getInstance().getHp().ToString(); parentGame = this.gameObject; //初始化摆位 //卡牌父节点尺寸 Vector2 vec2 = this.gameObject.transform.GetComponent <RectTransform>().sizeDelta; //卡牌节点尺寸 float itemWidth = 0.0f; float itemHeight = 0.0f; //卡牌间的距离间距 float space = 20.0f; //卡牌加间隙占的总宽度 float allCardWidth = 0.0f; //第一张卡牌的坐标位置 float fristX = 0.0f; doSize = 1.0f; float middPanelHeight = FightUIData.getInstance().getMiddHeight(); //初始化首发卡牌对象 Dictionary <int, CardData> cardDataDic = MineFightController.getInstance().getFristCards(); for (int i = 1; i <= cardDataDic.Count; i++) { Card card = Card.create(cardDataDic[i]); card.setParent(this.gameObject); if (1 == i) { itemWidth = card.getSize().x; itemHeight = card.getSize().y; if (AdaptationResolutionMG.getInstance().getDeviceSizeType() == DEVICE_SIZE_TYPE.Leng) { doSize = AdaptationResolutionMG.getInstance().getRawWidth() / (float)Screen.width; } else if (AdaptationResolutionMG.getInstance().getDeviceSizeType() == DEVICE_SIZE_TYPE.Compare) { doSize = AdaptationResolutionMG.getInstance().getDoSizeWidth(); } else { doSize = Screen.width / (float)(itemWidth * Const.FRIST_CARD_NUM + space * (Const.FRIST_CARD_NUM - 1)); } allCardWidth = (itemWidth * Const.FRIST_CARD_NUM) + (Const.FRIST_CARD_NUM - 1) * space; allCardWidth = allCardWidth * doSize; //表示已经超出屏幕 在现有的基础上再一次缩放 if (Screen.width < allCardWidth) { doSize = doSize * Screen.width / allCardWidth; } itemWidth = itemWidth * doSize; itemHeight = itemHeight * doSize; space = space * doSize; allCardWidth = (itemWidth * Const.FRIST_CARD_NUM) + (Const.FRIST_CARD_NUM - 1) * space; fristX = (Screen.width - allCardWidth) * 0.5f - Screen.width * 0.5f + itemWidth * 0.5f; } card.setScale(doSize); int key = cardDataDic[i].Pos; viewPosList.Add(key, new Vector2(fristX + (i - 1) * (itemWidth + space), -middPanelHeight * 0.5f + itemHeight * 0.5f)); viewCardDic.Add(key, card); card.setPosition(viewPosList[i]); EventListener.Get(card.getObj()).onDown = BtnCallBack; } outCardPosY = outCardPosY * doSize; initOutCardRule(); }