virtual public void dispose() { m_outSceneCardList.dispose(); m_inSceneCardList.dispose(); m_centerHero.dispose(); m_sceneSkillCard.dispose(); m_sceneEquipCard.dispose(); }
protected void onDieEndHandle(IDispatchObject dispObj) { // 删除死亡对象 Ctx.m_instance.m_logSys.fightLog(string.Format("[Fight] 真正删除一个卡牌 {0}", m_card.getDesc())); //m_sceneDZData.m_sceneDZAreaArr[m_side].removeAndDestroyOneCardByItem(m_sceneItem); m_card.dispose(); m_card = null; m_OneAttackAndHurtEndDisp.dispatchEvent(this); }
public void dispose() { if (m_outCard != null) { m_outCard.dispose(); } if (m_watchStage == WatchStage.eStartTimer) { stopTimer(); m_timer = null; } }
// 从手牌区域出了一张装备卡 protected void outEquipCard(SceneCardBase outCard) { if (m_sceneEquipCard == null) // 直接替换数据 { m_sceneEquipCard = Ctx.m_instance.m_sceneCardMgr.createCard(outCard.sceneCardItem, m_sceneDZData); } else { m_sceneEquipCard.setIdAndPnt(outCard.sceneCardItem.svrCard.dwObjectID, outCard.getPnt()); } m_sceneEquipCard.behaviorControl.moveToDestDirect(m_sceneDZData.m_placeHolderGo.m_cardCenterGOArr[(int)m_playerSide, (int)CardArea.CARDCELLTYPE_EQUIP].transform.localPosition); outCard.dispose(); // 释放原来的资源 }
// 移除并且释放一张卡牌,这个接口只能是从外部调用,彻底删除一张卡牌 public void removeAndDestroyOneCardByItem(SceneCardItem sceneItem) { if ((int)CardArea.CARDCELLTYPE_SKILL == sceneItem.svrCard.pos.dwLocation) { m_sceneSkillCard.dispose(); m_sceneSkillCard = null; } else if ((int)CardArea.CARDCELLTYPE_EQUIP == sceneItem.svrCard.pos.dwLocation) { m_sceneEquipCard.dispose(); m_sceneEquipCard = null; } else if ((int)CardArea.CARDCELLTYPE_COMMON == sceneItem.svrCard.pos.dwLocation) { m_outSceneCardList.removeAndDestroyCardByItem(sceneItem); m_outSceneCardList.updateSceneCardPos(); } else if ((int)CardArea.CARDCELLTYPE_HAND == sceneItem.svrCard.pos.dwLocation) { if (m_inSceneCardList.removeAndDestroyCardByItem(sceneItem)) { m_inSceneCardList.updateSceneCardPos(); } else // 可能是战吼或者法术有攻击目标的 { SceneCardBase srcCard = m_outSceneCardList.removeAndRetCardByItem(sceneItem); // 如果是法术或者战吼有攻击目标的卡牌,虽然在出牌区,但是是客户端自己移动过去的 if (srcCard != null && srcCard.canClientMove2OutArea()) { // 更新手牌索引 m_inSceneCardList.updateCardIndex(); } srcCard.dispose(); } } m_sceneDZData.m_gameOpState.cancelAttackOp(); // 强制退出战斗操作 }
override public void dispose() { m_whiteCard.dispose(); m_whiteCard = null; }