public void SetSpellSlotUpgrade(cmd_creature_spell_point _data) { int upgradeSlots = 0; int tmpID = 0; for (int i = 0; i < 4; i++) { if (_data.nAddSpellPoint[i] > 0) { switch (i) { case 0: tmpID = 1; break; case 1: tmpID = 2; break; case 2: tmpID = 4; break; case 3: tmpID = 8; break; } upgradeSlots |= tmpID; } } currentSpellUpgradePoint = _data.nSpellPoint; SetSkillBtnUpgrade(upgradeSlots, _data.nSpellPoint); }
// 接受消息 public override void OnMessage(WndMsgID msgID, UIMsgData msgData) { switch (msgID) { case WndMsgID.WND_MSG_COMMON_BATTLESTATE_ENTER: { this.SetVisible(true); } break; case WndMsgID.WND_MSG_COMMON_WAREND: case WndMsgID.WND_MSG_COMMON_BATTLESTATE_LEAVE: { if (m_wndView == null) { return; } m_wndView.SendChatVisibleMessage(false); this.UnloadView(); ResetData(); } break; case WndMsgID.WND_MSG_COMMON_LOGINMOBA: { bMobaState = true; StartData(); this.SetVisible(true); } break; case WndMsgID.WND_MSG_WARBUTTOMCENTER_SKILLSETSLOT: { if (m_wndView == null || !bMobaState) { return; } UIMsgCmdData uiSkillSlot = (UIMsgCmdData)msgData; cmd_creature_set_slot data = IntPtrHelper.toData <cmd_creature_set_slot>(uiSkillSlot.ptrParam); SetSpellSlot(data); } break; case WndMsgID.WND_MSG_WARBUTTOMCENTER_SKILLUPDATE: { if (m_wndView == null || !bMobaState) { return; } UIMsgCmdData uiSkillUpdate = (UIMsgCmdData)msgData; cmd_creature_spell_point data = IntPtrHelper.toData <cmd_creature_spell_point>(uiSkillUpdate.ptrParam); m_wndView.SetSpellSlotUpgrade(data); } break; case WndMsgID.WND_MSG_WARBUTTOMCENTER_SKILLEFFECT: { if (m_wndView == null || !bMobaState) { return; } UIMsgCmdData uiSpellEffect = (UIMsgCmdData)msgData; cmd_creature_set_slot data = IntPtrHelper.toData <cmd_creature_set_slot>(uiSpellEffect.ptrParam); if (data.nSlotType == SLOT_TYPE.SLOT_TYPE_SKILL) { SetSpellSlotEffect(data); } else if (data.nSlotType == SLOT_TYPE.SLOT_TYPE_GOODS) { SetPurchasedGoodsUseEffect(data); SetPurchasedGoodsCanDragDrop(data); } } break; case WndMsgID.WND_MSG_WARBUTTOMCENTER_SKILLOVEREFFECT: { if (m_wndView == null || !bMobaState) { return; } UIMsgCmdData uiSpellOverEffect = (UIMsgCmdData)msgData; cmd_set_spell_overlay data = IntPtrHelper.toData <cmd_set_spell_overlay>(uiSpellOverEffect.ptrParam); SetSpellSlotFlagEffect(data); } break; case WndMsgID.WND_MSG_WARBUTTOMCENTER_BUFFINFO: { if (m_wndView == null || !bMobaState) { return; } UIMsgCmdData uiBuffData = (UIMsgCmdData)msgData; cmd_creature_setBuff data = IntPtrHelper.toData <cmd_creature_setBuff>(uiBuffData.ptrParam); SetHeroBuff(data); } break; case WndMsgID.WND_MSG_WARBUTTOMCENTER_SETSHORTCUT: { if (m_wndView == null || !bMobaState) { return; } UIMsgCmdData uiShortCutData = (UIMsgCmdData)msgData; SetSlotShortcutString(uiShortCutData.nParam, uiShortCutData.nPtrLen, uiShortCutData.strParam); } break; case WndMsgID.WND_MSG_WARBUTTOMCENTER_SKILLMPEFFECT: { if (m_wndView == null || !bMobaState) { return; } UIMsgCmdData uiMpEffectData = (UIMsgCmdData)msgData; cmd_creature_mp_effect_spell data = IntPtrHelper.toData <cmd_creature_mp_effect_spell>(uiMpEffectData.ptrParam); SetMpEffectSpell(data); } break; case WndMsgID.WND_MSG_WAR_GOODSSTORE_UPDATEMAINPLAYERGOODS: { if (m_wndView == null || !bMobaState) { return; } SetPersonBuyGoodsInfo(); } break; case WndMsgID.WND_MSG_WAR_XPSKILL_SET_XP_SKILL_SELF: { if (m_wndView == null) { return; } UIMsgCmdData uiData = (UIMsgCmdData)msgData; cmd_creature_ShowPromptUI data = IntPtrHelper.toData <cmd_creature_ShowPromptUI>(uiData.ptrParam); SetXpSkillFireEffect(data); } break; case WndMsgID.WND_ID_HEROTALENTVIEW_LEARNHEROTALENT: { if (m_wndView == null) { return; } UIMsgCmdData uiData = (UIMsgCmdData)msgData; m_wndView.SetTalentLearnActive(uiData.nParam); } break; case WndMsgID.WND_ID_HEROTALENTVIEW_MAINHEROTALENTCLOSE: { if (m_wndView == null) { return; } m_wndView.CloseWarTalentView(); } break; case WndMsgID.WND_MSG_WARBUTTOMCENTER_WARTALENTBUTTONCLICK: { if (m_wndView != null) { m_wndView.OnWarTalentButtonClick(); } } break; default: break; } }