Beispiel #1
0
        private void OnCardTouchMove(EventContext context)
        {
            CardCom cardCom  = context.sender as CardCom;
            Vector2 localPos = cardCom.parent.GlobalToLocal(Stage.inst.touchPosition);

            cardCom.SetXY(localPos.x - cardCom.width / 2, localPos.y - cardCom.height / 2);
        }
Beispiel #2
0
        private void OnCardToucheBegin(EventContext context)
        {
            context.CaptureTouch();
            CardCom cardCom = context.sender as CardCom;

            cardCom.SetHold(true, false);
        }
Beispiel #3
0
        public override void ConstructFromXML(XML xml)
        {
            base.ConstructFromXML(xml);

            ctrlReward        = this.GetController("ctrlReward");
            btnJumpCard       = (GButton)this.GetChild("btnJumpCard");
            lstReward         = (GList)this.GetChild("lstReward");
            btnJumpSelectCard = (GButton)this.GetChild("btnJumpSelectCard");
            card1             = (CardCom)this.GetChild("card1");
            card2             = (CardCom)this.GetChild("card2");
            card3             = (CardCom)this.GetChild("card3");
            tSelect3Card      = this.GetTransition("tSelect3Card");
        }
Beispiel #4
0
        //从手牌移动到弃牌堆
        private void OnMoveHandToUsed(object obj)
        {
            CardInstance cardInstance = obj as CardInstance;
            CardCom      cardCom      = GetCardCom(cardInstance);

            if (cardCom == null)
            {
                return;
            }
            _lstHandCard.Remove(cardCom);
            cardCom.FlyToUsed(_usedCardPos);
            UpdateAllHandCardPos();
        }
Beispiel #5
0
        //抽一张卡
        private void OnDrawOneCard(object obj)
        {
            CardInstance drawCard = obj as CardInstance;
            CardCom      cardCom  = CardCom.CreateInstance();

            cardCom.scale = new Vector2(BattleDefine.CARD_DECK_SCALE, BattleDefine.CARD_DECK_SCALE);
            cardCom.x     = -cardCom.width;
            cardCom.SetCard(drawCard);
            frmHand.AddChild(cardCom);
            _lstHandCard.Add(cardCom);
            AddCardEvent(cardCom);
            UpdateAllHandCardPos();
        }
Beispiel #6
0
        private void OnCardToucheEnd(EventContext context)
        {
            CardCom cardCom = context.sender as CardCom;

            if (TryUseCard(cardCom.GetCardInstance()))
            {
                return;
            }
            //卡没用掉 放回原处
            cardCom.SetHold(false, true, () =>
            {
                _lastHoldCard = null;
                UpdateHolderCard();
            });
        }
Beispiel #7
0
        //手牌被永久使用掉
        private void OnHandCardConsume(object obj)
        {
            CardInstance cardInstance = obj as CardInstance;
            CardCom      cardCom      = GetCardCom(cardInstance);

            if (cardCom == null)
            {
                return;
            }
            _lstHandCard.Remove(cardCom);

            //todo 卡牌消耗动画
            cardCom.TweenFade(0, 1.0f).OnComplete(() =>
            {
                cardCom.Dispose();
                UpdateAllHandCardPos();
            });
        }
Beispiel #8
0
        private void UpdateAllHandCardPos()
        {
            int   cardNum    = _lstHandCard.Count;
            float totalWidth = cardNum * CARD_WIDTH * BattleDefine.CARD_SCALE;

            if (totalWidth > frmHand.width)
            {
                totalWidth = frmHand.width;
            }
            float beginPos  = (frmHand.width - totalWidth) / 2;
            float cardSpace = totalWidth / cardNum;

            for (int i = 0; i < cardNum; i++)
            {
                CardCom cardCom = _lstHandCard[i];
                cardCom.UpdatePos(beginPos + i * cardSpace, 0, BattleDefine.CARD_SCALE);
            }
        }
Beispiel #9
0
        private void UpdateHolderCard()
        {
            if (GRoot.inst.touchTarget is CardCom)
            {
                CardCom holdCard = GRoot.inst.touchTarget as CardCom;
                if (_lastHoldCard == holdCard)
                {
                    return;
                }
                if (_lastHoldCard != null)
                {
                    _lastHoldCard.SetHold(false);
                }
                holdCard.SetHold(true);
                _lastHoldCard = holdCard;
                return;
            }

            if (_lastHoldCard != null)
            {
                _lastHoldCard.SetHold(false);
                _lastHoldCard = null;
            }
        }
Beispiel #10
0
 private void AddCardEvent(CardCom cardCom)
 {
     cardCom.onTouchBegin.Add(OnCardToucheBegin);
     cardCom.onTouchMove.Add(OnCardTouchMove);
     cardCom.onTouchEnd.Add(OnCardToucheEnd);
 }