Esempio n. 1
0
        // Enemy 卡牌改变位置
        virtual public void changeEnemySceneCardArea(SceneCardItem sceneItem_)
        {
            SceneCardBase srcCard = Ctx.m_instance.m_sceneCardMgr.createCard(sceneItem_, m_sceneDZData);

            srcCard.convOutModel();
            m_outSceneCardList.addCard(srcCard, sceneItem_.svrCard.pos.y);
            m_outSceneCardList.updateSceneCardPos();
            srcCard.effectControl.updateStateEffect();
        }
Esempio n. 2
0
        // 移动卡牌,从一个位置到另外一个位置,CardArea.CARDCELLTYPE_COMMON 区域增加是从这个消息过来的,目前只处理移动到 CardArea.CARDCELLTYPE_COMMON 区域
        virtual public void changeSelfSceneCardArea(uint qwThisID, CardArea dwLocation, ushort yPos)
        {
            SceneCardBase srcCard = null;

            // 移动手里的牌的位置
            srcCard = m_inSceneCardList.getSceneCardByThisID(qwThisID);
            if (srcCard != null)
            {
                m_inSceneCardList.removeCard(srcCard);
                m_inSceneCardList.updateSceneCardPos();
                srcCard.updateCardOutState(false);        // 当前卡牌可能处于绿色高亮,因此去掉
                srcCard.convOutModel();
                m_sceneDZData.m_gameOpState.quitMoveOp(); // 退出移动操作
            }
            else                                          // 如果手牌没有,可能是战吼或者法术有攻击目标的卡牌,客户端已经将卡牌移动到出牌区域
            {
                srcCard = m_outSceneCardList.getSceneCardByThisID(qwThisID);
                if (srcCard.canClientMove2OutArea())
                {
                    // 更新手牌索引
                    m_inSceneCardList.updateCardIndex();
                    m_sceneDZData.m_gameOpState.endAttackOp();    // 战吼攻击结束
                }
                else
                {
                    Ctx.m_instance.m_logSys.log("这个牌客户端已经移动到出牌区域");
                }
            }

            // 更新移动后的牌的位置
            if (CardArea.CARDCELLTYPE_EQUIP == dwLocation)        // 如果出的是装备
            {
                outEquipCard(srcCard);
            }
            else                                                         // 出的是随从
            {
                if (srcCard != null && !srcCard.canClientMove2OutArea()) // 如果不是战吼或者法术有攻击目标的牌
                {
                    m_outSceneCardList.removeWhiteCard();
                    m_outSceneCardList.addCard(srcCard, yPos);
                    m_outSceneCardList.updateSceneCardPos();
                    srcCard.effectControl.updateStateEffect();
                    m_sceneDZData.m_dragDropData.tryClearDragItem(srcCard);
                }
            }
        }