virtual public void clearCardAttackedState() { outSceneCardList.updateCardOutState(false); // 英雄卡 m_centerHero.updateCardOutState(false); // 技能卡 m_sceneSkillCard.updateCardOutState(false); }
// 移动卡牌,从一个位置到另外一个位置,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); } } }