/// <summary> /// 接受逻辑层数据 /// </summary> /// <param name="ptr"></param> /// <param name="nLen"></param> /// <param name="utn">头顶信息实例</param> private void SetNameInfo(IntPtr ptr, int nLen, UTopName utn) { if (null == utn) { return; } utn.ClearName(); IntPtrVaArgParseHelper helper = new IntPtrVaArgParseHelper(ptr, nLen); cmd_count cmdCount = helper.get <cmd_count>(); for (int i = 0; i < cmdCount.nCount; ++i) { cmd_entity_show_title_node node = helper.get <cmd_entity_show_title_node>(); switch (node.nTitleID) { case 0: utn.SetRoleName(node.szTitleName); break; case 1: utn.SetKinName(node.szTitleName); break; case 2: utn.SetClanName(node.szTitleName); break; default: break; } } }
public void UpdateCrownAllPageData(IntPtr ptrParam, int nPtrLen) { CrownPageDic.Clear(); //curPageItemData = null; IntPtrVaArgParseHelper helper = new IntPtrVaArgParseHelper(ptrParam, nPtrLen); cmd_count countData = helper.get <cmd_count>(); int nCount = countData.nCount; for (int i = 0; i < nCount; i++) { cmd_Crown_Page_Item_Info data = helper.get <cmd_Crown_Page_Item_Info>(); CrownPageItemData pageData = new CrownPageItemData(); pageData.nPageTextIndex = i + 1; pageData.reviseData = data; pageData.DoSaveData(); CrownPageDic[data.nPageDBID] = pageData; if (curPageItemData == null) { curPageItemData = pageData; } } UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_CROWNPAGE_UPDATEVIEW, null); RefreshGemstoneRedPoint(); }
public void InitHeroSkinInfo(IntPtr ptrParam, int nPtrLen) { if (dicSkinInfoData == null) { return; } dicSkinInfoData.Clear(); IntPtrVaArgParseHelper helper = new IntPtrVaArgParseHelper(ptrParam, nPtrLen); cmd_count heroCount = helper.get <cmd_count>(); for (int i = 0; i < heroCount.nCount; ++i) { cmd_count talentCount = helper.get <cmd_count>(); for (int j = 0; j < talentCount.nCount; ++j) { cmd_Hero_Skin_Info cmdInfo = helper.get <cmd_Hero_Skin_Info>(); int nHeroId = cmdInfo.nHeroId; if (dicSkinInfoData.ContainsKey(cmdInfo.nHeroId)) { dicSkinInfoData[nHeroId].Add(cmdInfo); } else { List <cmd_Hero_Skin_Info> listInfo = new List <cmd_Hero_Skin_Info>(); listInfo.Add(cmdInfo); dicSkinInfoData[nHeroId] = listInfo; } } } UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_HEROSKINVIEW_INITSKINDATA, null); }
// 保存召唤师技能信息 public void saveAllSummonerSkill(IntPtr ptrParam, int nPtrLen) { IntPtrVaArgParseHelper helper = new IntPtrVaArgParseHelper(ptrParam, nPtrLen); cmd_count cmdCount = helper.get <cmd_count>(); for (int i = 0; i < cmdCount.nCount; ++i) { cmd_SmAllSkillInfo cmdInfo = helper.get <cmd_SmAllSkillInfo>(); SmAllSkillInfoList.Insert(i, cmdInfo); } }
// 功能型快捷键消息储存 public void SaveFuntionShortCutCtrl(IntPtr nShortCutInfo, int nPtrLen) { IntPtrVaArgParseHelper helper = new IntPtrVaArgParseHelper(nShortCutInfo, nPtrLen); cmd_count nCountdata = helper.get <cmd_count>(); for (int i = 0; i < nCountdata.nCount; ++i) { cmd_Slot_Shortcut data = helper.get <cmd_Slot_Shortcut>(); SaveKeyCodeToDic(data.nSlotId, data.szShortcut); } }
// 禁用英雄是选择英雄后会返回禁用英雄的信息 public void MatchRoomGlobleBanHeroList(IntPtr ptrParam, int nParam) { IntPtrVaArgParseHelper helper = new IntPtrVaArgParseHelper(ptrParam, nParam); cmd_count cmdCount = helper.get <cmd_count>(); for (int i = 0; i < cmdCount.nCount; ++i) { int nHeroId = helper.getInt(); // 将禁用的英不显示 setOneHeroIsDisable(nHeroId, true); } }
// 禁用机器人 public void MatchRoomRuleBanComputerList(IntPtr ptrParam, int nParam) { IntPtrVaArgParseHelper helper = new IntPtrVaArgParseHelper(ptrParam, nParam); cmd_count cmdCount = helper.get <cmd_count>(); for (int i = 0; i < cmdCount.nCount; ++i) { int nHeroId = helper.getInt(); //将两个阵营全都禁用 setOneCampComputerIsDisable(nHeroId, true, 0); setOneCampComputerIsDisable(nHeroId, true, 1); } }
public void UpdateHeroDetailInfo(IntPtr ptrParam, int nPtrLen) { IntPtrVaArgParseHelper helper = new IntPtrVaArgParseHelper(ptrParam, nPtrLen); int dwPDBID = helper.get <int>(); cmd_entity_hero_detail_info heroDetailInfo = helper.get <cmd_entity_hero_detail_info>(); PDBIDandHeroID multiKey = new PDBIDandHeroID(dwPDBID, heroDetailInfo.nHeroID); ActorHeroDetailInfo info = null; if (actorHeroDetail.TryGetValue(multiKey, out info) == false) { return; } info.heroDetailInfo = heroDetailInfo; cmd_count cmdCount = helper.get <cmd_count>(); info.cmdCount = cmdCount; for (int i = 0; i < cmdCount.nCount; i++) { cmd_match_room_hero_skill_desc skillDesc = helper.get <cmd_match_room_hero_skill_desc>(); info.heroSkillDesc.Add(skillDesc); } cmd_Return_Hero_Detail_Info returnHeroInfo; returnHeroInfo.nPDBID = dwPDBID; returnHeroInfo.nHeroID = heroDetailInfo.nHeroID; UIMsgCmdData uiReturnHeroInfo = null; if (eHeroDetailReqType == HeroDetailReqType.HDRT_INIT) { uiReturnHeroInfo = UIMsgCmdDataHelper.Instance.create <cmd_Return_Hero_Detail_Info>(WndMsgID.WND_MSG_HERODETAIL_HERODETAILINFO, ref returnHeroInfo); UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_HERODETAIL_HERODETAILINFO, uiReturnHeroInfo); } else if (eHeroDetailReqType == HeroDetailReqType.HDRT_REFRESH) { uiReturnHeroInfo = UIMsgCmdDataHelper.Instance.create <cmd_Return_Hero_Detail_Info>(WndMsgID.WND_MSG_HERODETAIL_HERODETAILINFOREFRESH, ref returnHeroInfo); UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_HERODETAIL_HERODETAILINFOREFRESH, uiReturnHeroInfo); } else if (eHeroDetailReqType == HeroDetailReqType.HDRT_LIFEHERO) { uiReturnHeroInfo = UIMsgCmdDataHelper.Instance.create <cmd_Return_Hero_Detail_Info>(WndMsgID.WND_MSG_OPEN_LIFEHERO_CULTURE_HERO_HINT, ref returnHeroInfo); UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_OPEN_LIFEHERO_CULTURE_HERO_HINT, uiReturnHeroInfo); } }
// 存入uid,供点击右侧头像通过pbuid获得uid public void SaveUIDAndPBUID(IntPtr ptrParam, int nPtrLen) { IntPtrVaArgParseHelper helper = new IntPtrVaArgParseHelper(ptrParam, nPtrLen); cmd_count nCountdata = helper.get <cmd_count>(); int nMyCamp = EntityFactory.MainHeroView.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_CAMP); for (int i = 0; i < nCountdata.nCount; ++i) { cmd_Send_UID_And_PBUID data = helper.get <cmd_Send_UID_And_PBUID>(); // 敌方和自己不存 if (!TestIsSameCampWithMyCamp(ref data.nCamp, ref nMyCamp) || EntityFactory.MainHeroID == data.uUID) { continue; } PBUIDTable[data.uPBUID] = data.uUID; } }
public void UpdateCrownAllGemStoneData(IntPtr ptrParam, int nPtrLen) { m_gemStoneDic.Clear(); IntPtrVaArgParseHelper helper = new IntPtrVaArgParseHelper(ptrParam, nPtrLen); cmd_count countData = helper.get <cmd_count>(); int nCount = countData.nCount; for (int i = 0; i < nCount; i++) { cmd_Crown_Gemstone_Item_Info data = helper.get <cmd_Crown_Gemstone_Item_Info>(); data.nSlotID = i; m_gemStoneDic[data.nGemstoneDBID] = data; } SortAllGemStone(); RefreshGemstoneRedPoint(); }
public void recvLabelList(IntPtr ptrParam, int nPtrLen) { IntPtrVaArgParseHelper helper = new IntPtrVaArgParseHelper(ptrParam, nPtrLen); cmd_count dataCount = helper.get <cmd_count>(); if (dataCount.nCount <= 0) { return; } for (int i = 0; i < dataCount.nCount; ++i) { cmd_label_info info = helper.get <cmd_label_info>(); m_LabelList.Add(info); } }
// 设置默认天赋技能信息.调用as,设置上次记录的两个基本召唤师技能(参数:1、2基本槽位,图片id,召唤师技能槽位对应着召唤师天赋id) public void setDefSummonerSkill(IntPtr ptrParam, int nPtrLen) { if (!Value.IsValueValid(vHeroFunctionFrame)) { return; } IntPtrVaArgParseHelper helper = new IntPtrVaArgParseHelper(ptrParam, nPtrLen); cmd_count cmdCount = helper.get <cmd_count>(); for (int i = 0; i < cmdCount.nCount; ++i) { cmd_SummonerSkill_Info cmdInfo = helper.get <cmd_SummonerSkill_Info>(); if (vHeroFunctionFrame.Invoke("SetBaseSummonerButtonIcon", i + 1, cmdInfo.nIconId, cmdInfo.nSkillId, cmdInfo.summonerSkillDesc) == null) { Trace.LogError("call SetBaseSummonerButtonIcon failed"); continue; } } }
// 接收战后统计数据 public void recvWarEndPlayerData(IntPtr ptr, int nLen) { IntPtrVaArgParseHelper helper = new IntPtrVaArgParseHelper(ptr, nLen); Int64 dbWarID = helper.getInt64(); cmd_count cmdCount = helper.get <cmd_count>(); for (int i = 0; i < cmdCount.nCount; ++i) { cmd_entity_end_player_data cmdInfo = helper.get <cmd_entity_end_player_data>(); ulong pDbid = cmdInfo.pDbid; swar_flaunt_result result; result.data = cmdInfo; result.dbWarID = dbWarID; endRecordInfoArray[pDbid] = result; } }
// 设置自己段位,青铜五--王者 public void SetStrengthLine(IntPtr ptrParam, int nPtrLen) { if (!Value.IsValueValid(MyRoot)) { return; } IntPtrVaArgParseHelper helper = new IntPtrVaArgParseHelper(ptrParam, nPtrLen); cmd_count nCountdata = helper.get <cmd_count>(); for (int i = 0; i < nCountdata.nCount; ++i) { cmd_entity_match_type_rank data = helper.get <cmd_entity_match_type_rank>(); if (MyRoot.Invoke("SetStrengthLine", data.szGradeName) == null) { Trace.LogError("call SetStrengthLine failed"); return; } } }
//右侧信息栏,同阵营玩家信息槽 public void SetPlayerHeroSlotInfo(IntPtr ptrParam, int nPtrLen) { if (!Value.IsValueValid(empytPointMC)) { return; } IntPtrVaArgParseHelper helper = new IntPtrVaArgParseHelper(ptrParam, nPtrLen); cmd_count nCountdata = helper.get <cmd_count>(); for (int i = 1; i <= nCountdata.nCount; ++i) { cmd_entity_camp_palyer_uidinfo data = helper.get <cmd_entity_camp_palyer_uidinfo>(); Value NewHPS = new Value(); //连接as接口 if (!empytPointMC.AttachMovie(ref NewHPS, this.rightHeroPortraitClass, this.rightheroPortraitInsName + i, 1)) { Trace.LogError("attach RightHeroPortraitSlot Value failed"); return; } if (!Value.IsValueValid(NewHPS)) { return; } //建立相应位置 SFDisplayInfo NewHPSDI = NewHPS.GetDisplayInfo(); NewHPSDI.Y = (70) * i; NewHPSDI.X = 205; NewHPS.SetDisplayInfo(NewHPSDI); //将头像信息存入哈希表 entityHPSContainer[(int)data.uPBUID] = NewHPS; ////初始化头像,设置头像 //Value CurHPS = entityHPSContainer[(int)data.uPBUID] as Value; if (NewHPS.Invoke("SetHeroIcon", data.nHeroID) == null) { Trace.LogError("error call SetHeroIcon failed!"); return; } NewHPS.SetMember("uPBUID", data.uPBUID); } }
public void UpdataAllHero(IntPtr ptrParam, int nPtrLen) { IntPtrVaArgParseHelper helper = new IntPtrVaArgParseHelper(ptrParam, nPtrLen); cmd_pdbid_count haveHeroInfo = helper.get <cmd_pdbid_count>(); ActorHeroInfo info = null; if (actorHero.TryGetValue(haveHeroInfo.dwPDBID, out info) == false) { return; } info.dicEntityHeroInfo.Clear(); for (int i = 0; i < haveHeroInfo.nCount; ++i) { cmd_entity_hero_info data = helper.get <cmd_entity_hero_info>(); info.dicEntityHeroInfo[data.nHeroID] = data; } cmd_count noHaveHeroInfo = helper.get <cmd_count>(); info.dicEntityNoHaveHeroInfo.Clear(); for (int i = 0; i < noHaveHeroInfo.nCount; i++) { cmd_entity_nohanve_hero data1 = helper.get <cmd_entity_nohanve_hero>(); info.dicEntityNoHaveHeroInfo[data1.nHeroID] = data1; } UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_HEROPREVIEWFRAME_GETHEROINFO, null); checkAllHeroIsHaveCanUpStar(); // 更新已下发详细英雄信息 int actorID = EntityFactory.MainHeroView.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_ID); foreach (var item in actorHeroDetail) { if (item.Key.nPDBID == actorID) { RequestHeroDetailInfo(item.Key, HeroDetailReqType.HDRT_REFRESH); } } }
// 初始化本主角玩家的所有英雄天赋数据 public void InitHeroTalentInfo(IntPtr ptrParam, int nPtrLen) { if (dicTalentInfoData == null) { return; } dicTalentInfoData.Clear(); IntPtrVaArgParseHelper helper = new IntPtrVaArgParseHelper(ptrParam, nPtrLen); cmd_count heroCount = helper.get <cmd_count>(); for (int i = 0; i < heroCount.nCount; ++i) { cmd_count talentCount = helper.get <cmd_count>(); for (int j = 0; j < talentCount.nCount; ++j) { cmd_Hero_Talent_Info cmdInfo = helper.get <cmd_Hero_Talent_Info>(); int nHeroId = cmdInfo.nHeroId; bool bActive = cmdInfo.nActive > 0 ? true : false; HeroTalentInfo info = new HeroTalentInfo(); info.nHeroId = nHeroId; info.nTalentId = cmdInfo.nTalentId; info.bActive = bActive; if (dicTalentInfoData.ContainsKey(cmdInfo.nHeroId)) { dicTalentInfoData[nHeroId].Add(info); } else { List <HeroTalentInfo> listInfo = new List <HeroTalentInfo>(); listInfo.Add(info); dicTalentInfoData[nHeroId] = listInfo; } } } // 初始化战场天赋显示 USpeedUI.UISystem.Instance.SendWndMessage(USpeedUI.WndMsgID.WND_ID_HEROTALENTVIEW_INITWARTALENT, null); }
public void OnRecvAllLifeHero(IntPtr ptr, int nLen) { m_LifeHeroDic.Clear(); IntPtrVaArgParseHelper helper = new IntPtrVaArgParseHelper(ptr, nLen); cmd_count cmd = helper.get <cmd_count>(); for (int i = 0; i < cmd.nCount; ++i) { cmd_entity_lifehero_info item = helper.get <cmd_entity_lifehero_info>(); m_LifeHeroDic.Add(item.nHeroID, item); } m_recvDataFlag |= ERecvDataFlag.RECV_LIFE_HERO; if ((m_recvDataFlag & ERecvDataFlag.RECV_HISTORY_RECORD) == ERecvDataFlag.RECV_HISTORY_RECORD) { SetLifeHeroFlag(); } UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_RECV_ALL_LIFEHERO_INFO, null); }
public void SaveUIDAndPBUID(IntPtr ptrParam, int nPtrLen) { IntPtrVaArgParseHelper helper = new IntPtrVaArgParseHelper(ptrParam, nPtrLen); cmd_count nCountdata = helper.get <cmd_count>(); int nMyCamp = EntityFactory.MainHeroView.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_CAMP); int nSlotIndex = 0; for (int i = 0; i < nCountdata.nCount; ++i) { cmd_Send_UID_And_PBUID data = helper.get <cmd_Send_UID_And_PBUID>(); // 敌方和自己不存 if (data.nCamp != nMyCamp) //|| EntityFactory.MainHeroID == data.uUID) { continue; } int nUID = (int)data.uUID; LogicDataCenter.teamRightWndDataManager.MyTeamEntityIdTable[nSlotIndex] = nUID; nSlotIndex++; } }
public void InitMyTeamRightToShow(IntPtr ptrParam, int nPtrLen) { IntPtrVaArgParseHelper helper = new IntPtrVaArgParseHelper(ptrParam, nPtrLen); cmd_count nCountdata = helper.get <cmd_count>(); int nMySlotID = 0; int nOtherSlotID = 0; int nMainPlayerCamp = EntityFactory.MainHeroView.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_CAMP); for (int i = 0; i < nCountdata.nCount; ++i) { cmd_entity_camp_palyer_uidinfo data = helper.get <cmd_entity_camp_palyer_uidinfo>(); if (data.nCamp == nMainPlayerCamp) { TeamRightInfo teamRightInfo = new TeamRightInfo(); teamRightInfo.nSlotId = nMySlotID; LogicDataCenter.teamRightWndDataManager.MyTeamUIDTable[(int)data.uUID] = teamRightInfo; LogicDataCenter.teamRightWndDataManager.MyTeamEntityIdTable[nMySlotID] = (int)data.uUID; int nLevelID = LogicDataCenter.recordTableDataManager.getHeroLvAcordPDBID(data.uPDBID); m_wndView.SetMyTeamItemViewShow(nMySlotID, data.nHeroID, nLevelID); bool bIsAI = data.nIsAI > 0 ? true : false; m_wndView.SetMyTeamAICommandBtn(bIsAI, teamRightInfo.nSlotId); nMySlotID++; } else { TeamRightInfo teamRightInfo = new TeamRightInfo(); teamRightInfo.nSlotId = nOtherSlotID; LogicDataCenter.teamRightWndDataManager.OtherTeamUIDTable[(int)data.uUID] = teamRightInfo; int nLevelID = LogicDataCenter.recordTableDataManager.getHeroLvAcordPDBID(data.uPDBID); m_wndView.SetOtherTeamItemViewShow(nOtherSlotID, data.nHeroID, nLevelID); nOtherSlotID++; } } }
public void RecvAllHeroId(IntPtr ptrParam, int nPtrLen) { IntPtrVaArgParseHelper helper = new IntPtrVaArgParseHelper(ptrParam, nPtrLen); cmd_count cmdCount = helper.get <cmd_count>(); int HeroID = 0; for (int i = 0; i < cmdCount.nCount; ++i) { int nHeroId = helper.get <int>(); // TODO 调用小强接口 if (nHeroId != 0) { LightingEffectFactory.Instance.PushCacheVocation((VOCATION)nHeroId); HeroID = nHeroId; } } if (0 != HeroID) { LightingEffectFactory.Instance.ChangeHeroVocation((VOCATION)HeroID); } }
// 更新XP技能信息 public void UpdateHeroXPSkillInfo(IntPtr ptrParam, int nPtrLen) { if (dicXPSkillInfoData == null) { dicXPSkillInfoData = new Dictionary <int, List <cmd_Hero_XP_Skill_Info> >(); } IntPtrVaArgParseHelper helper = new IntPtrVaArgParseHelper(ptrParam, nPtrLen); cmd_count heroCount = helper.get <cmd_count>(); if (heroCount.nCount > 1) { dicXPSkillInfoData.Clear(); } for (int i = 0; i < heroCount.nCount; ++i) { cmd_Hero_Additional_Info headHead = helper.get <cmd_Hero_Additional_Info>(); int nHeroID = headHead.nHeroID; if (dicXPSkillInfoData.ContainsKey(nHeroID)) { dicXPSkillInfoData[nHeroID].Clear(); } else { dicXPSkillInfoData[nHeroID] = new List <cmd_Hero_XP_Skill_Info>(); } for (int j = 0; j < headHead.nAdditionalCount; ++j) { cmd_Hero_XP_Skill_Info cmdInfo = helper.get <cmd_Hero_XP_Skill_Info>(); dicXPSkillInfoData[nHeroID].Add(cmdInfo); } } USpeedUI.UISystem.Instance.SendWndMessage(USpeedUI.WndMsgID.WND_MSG_HERODETAIL_HERODETAILXPUPDATE, null); }
public void FilterSupportPlayer(IntPtr ptrParam, int nPtrLen) { if (nPtrLen <= 0) { return; } ClearMobaData(); IntPtrVaArgParseHelper helper = new IntPtrVaArgParseHelper(ptrParam, nPtrLen); cmd_count countData = helper.get <cmd_count>(); int nCount = countData.nCount; for (int i = 0; i < nCount; i++) { cmd_update_support_vote_person data = helper.get <cmd_update_support_vote_person>(); m_dicPlayersSupportInfo[data.uPDBIU] = data; } SortPlayersSupportInfo(); UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_WAR_FILTER_SUPPORT_PLAYER, null); }
// 更新XP碎片信息 public void UpdateHeroXPFragmentInfo(IntPtr ptrParam, int nPtrLen) { if (dicXPFragmentInfoData == null) { dicXPFragmentInfoData = new Dictionary <int, List <cmd_Hero_XP_Fragment_Info> >(); } IntPtrVaArgParseHelper helper = new IntPtrVaArgParseHelper(ptrParam, nPtrLen); cmd_count heroCount = helper.get <cmd_count>(); if (heroCount.nCount > 1) { dicXPFragmentInfoData.Clear(); } for (int i = 0; i < heroCount.nCount; ++i) { cmd_Hero_Additional_Info headHead = helper.get <cmd_Hero_Additional_Info>(); int nHeroID = headHead.nHeroID; if (dicXPFragmentInfoData.ContainsKey(nHeroID)) { dicXPFragmentInfoData[nHeroID].Clear(); } else { dicXPFragmentInfoData[nHeroID] = new List <cmd_Hero_XP_Fragment_Info>(); } for (int j = 0; j < headHead.nAdditionalCount; ++j) { cmd_Hero_XP_Fragment_Info cmdInfo = helper.get <cmd_Hero_XP_Fragment_Info>(); dicXPFragmentInfoData[nHeroID].Add(cmdInfo); } } }
//开始选择英雄 public void MatchRoomRuleSelectHero(IntPtr ptrParam, int nPtrLen) { IntPtrVaArgParseHelper helper = new IntPtrVaArgParseHelper(ptrParam, nPtrLen); cmd_count cmdCount = helper.get <cmd_count>(); // 重置10个位置高亮的部分 setAllPosNotBright(); int nTime = 0; int nCamp = 0; for (int i = 0; i < cmdCount.nCount; ++i) { cmd_match_room_rule_ban_hero cmdInfo = helper.get <cmd_match_room_rule_ban_hero>(); if (nTime == 0) { nTime = cmdInfo.nTimeInterval; } if (nCamp == 0) { nCamp = cmdInfo.nCamp; } if (cmdInfo.bIsSelf == 1) { CanSelectHero = true; //准备按钮开启 SetHeroConfirmBtnVisible(); SetSelectHeroListLock(false); } //高亮哪个位置可以禁用英雄 SetChooseDisablePos(cmdInfo.nCamp, cmdInfo.nPos); } //启用选择英雄倒计时 ShowSelectDisableHeroTime(nTime, nCamp, (int)SelectPhase.ENUM_SELECT); }
public void SetSlotShortcut(IntPtr recordInfo, int nPtrLen) { IntPtrVaArgParseHelper helper = new IntPtrVaArgParseHelper(recordInfo, nPtrLen); cmd_count obj = helper.get <cmd_count>(); for (int i = 0; i < obj.nCount; i++) { cmd_Slot_Shortcut data = helper.get <cmd_Slot_Shortcut>(); if (data.nType == (int)SLOT_TYPE.SLOT_TYPE_GOODS) { SetGoodsSlotShortcutKey(data.nSlotId, data.szShortcut); } else if (data.nType == (int)SLOT_TYPE.SLOT_TYPE_SKILL) { if (CheckSlotIndexRange(data.nSlotId))//(((data.nSlotId >= 0) && (data.nSlotId <= 4)) || ((data.nSlotId >= 13) && (data.nSlotId <= 14))) { ReCalSlotIndex(ref data.nSlotId); SetSkillShortcutKey(data.nSlotId, data.szShortcut); } } } }
public void UpdateOtherCrownAllPageData(IntPtr ptrParam, int nPtrLen) { m_crownOtherPageDic.Clear(); m_gemStoneOtherDic.Clear(); otherCurPageItemData = null; IntPtrVaArgParseHelper helper = new IntPtrVaArgParseHelper(ptrParam, nPtrLen); cmd_count countData = helper.get <cmd_count>(); int nCount = countData.nCount; for (int i = 0; i < nCount; i++) { cmd_Crown_Page_Item_Info data = helper.get <cmd_Crown_Page_Item_Info>(); CrownPageItemData pageData = new CrownPageItemData(); pageData.nPageTextIndex = i + 1; pageData.reviseData = data; pageData.DoSaveData(); m_crownOtherPageDic[data.nPageDBID] = pageData; if (otherCurPageItemData == null) { otherCurPageItemData = pageData; } } cmd_count countData2 = helper.get <cmd_count>(); for (int i = 0; i < countData2.nCount; i++) { cmd_Crown_Gemstone_Item_Info data = helper.get <cmd_Crown_Gemstone_Item_Info>(); data.nSlotID = i; m_gemStoneOtherDic[data.nGemstoneDBID] = data; } UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_CROWNPAGE_OTHERUPDATEVIEW, null); }
// 所有页的加点数据下发 public void SetSingleTalentPagePointsInfo(IntPtr ptrParam, int nPtrLen) { if (!Value.IsValueValid(TalentMenuFrame)) { return; } Hashtable allTalentPageTable = (TalentPage.Instance.GetAllTalentPageTable()); IntPtrVaArgParseHelper helper = new IntPtrVaArgParseHelper(ptrParam, nPtrLen); dTalentPageInfo.Clear(); cmd_count nCountdata = helper.get <cmd_count>(); for (int i = 0; i < nCountdata.nCount; ++i) { TalentPageInfo talentPageInfo = new TalentPageInfo(); cmd_TalentPage_Points_Single data = helper.get <cmd_TalentPage_Points_Single>(); string sPoints = ""; string sTalentId = ""; for (int j = 0; j < data.nTalentNum; j++) { int nPoint = data.nTalentPoints[j]; int nTalentId = data.nTalentId[j]; sPoints += nPoint.ToString(); sTalentId += nTalentId.ToString(); if (j != data.nTalentNum - 1) { sTalentId += ";"; } int nTalentType = TalentPage.Instance.GetSingleTalentType(nTalentId); if (nTalentType == (int)TalentType.ENUM_TALENTTYPE_ATTACK) { talentPageInfo.nAttackPointAll += nPoint; } else if (nTalentType == (int)TalentType.ENUM_TALENTTYPE_TRICK) { talentPageInfo.nTrickPointAll += nPoint; } else if (nTalentType == (int)TalentType.ENUM_TALENTTYPE_HELP) { talentPageInfo.nHelpPointAll += nPoint; } } if (data.szTalentPageName == "") { data.szTalentPageName = "TalentPage" + (i + 1); } int nPageIndex = data.nCurPageIndex; talentPageInfo.szTalentPageName = data.szTalentPageName; dTalentPageInfo[nPageIndex] = talentPageInfo; // 将所有天赋页的加点数据和名字数据名字下发下去,暂定30个可配置点数后期会改 if (TalentMenuFrame.Invoke("SetSingleTalentPagePointsInfo", nPageIndex, data.szTalentPageName, sTalentId, sPoints, 30, talentPageInfo.nAttackPointAll, talentPageInfo.nTrickPointAll, talentPageInfo.nHelpPointAll) == null) { Trace.LogError("call SetSingleTalentPagePointsInfo failed"); continue; } } if (nCountdata.nCount != 0) { if (TalentMenuFrame.Invoke("SetOnePagePointView", 1) == null) { Trace.LogError("call SetOnePagePointView failed"); return; } } }
/////////////////////////////////////////////////////数据载入区/////////////////////////////////////////////////////// public bool ReceiveSelfEntityViewRuneInfo(ref IntPtr ptrParam, int nPtrLen) { runePageDataManager.Clear(); // 先压出个人全部符文store IntPtrVaArgParseHelper helper = new IntPtrVaArgParseHelper(ptrParam, nPtrLen); cmd_count storeCountData = helper.get <cmd_count>(); int nStoreCount = storeCountData.nCount; for (int k = 0; k < nStoreCount; k++) { cmd_Rune_InStore_Item storeItemdata = helper.get <cmd_Rune_InStore_Item>(); int nRuneId = storeItemdata.nRuneId; SSchemeRuneConfig runeConfig = RunePage.Instance.allRunePageTable[nRuneId] as SSchemeRuneConfig; if (runeConfig == null) { continue; } RuneItemInfo runeItemInfo = new RuneItemInfo(); runeItemInfo.nRuneId = nRuneId; runeItemInfo.nRuneNum = storeItemdata.nRuneNum; dicRuneInlayTypeStoreInfo[(int)runeConfig.nRuneInlayType].Add(runeItemInfo); } // 再压出每个符文页的详细信息 cmd_count runePagedata = helper.get <cmd_count>(); int nRunePageCount = runePagedata.nCount; this.nMaxSortIndex = nRunePageCount; for (int i = 0; i < runePagedata.nCount; ++i) { NewPagePointsItem(i + 1); if (uCurRunePageData == null) { continue; } cmd_Rune_Single_PageInfo data = helper.get <cmd_Rune_Single_PageInfo>(); for (int j = 0; j < data.nRuneGroove.Length; j++) { int nRuneId = data.nRuneGroove[j]; SetRunePagePointsInfo(j + 1, nRuneId, true); } if (data.sRunePageName == "") { uCurRunePageData.sTempName = "RunePage" + (i + 1); } else { uCurRunePageData.sTempName = data.sRunePageName; } this.SetRunePageChange(true, true); uCurRunePageData.SetSaveData(); // 必须有数据改变才保存 this.SetRunePageChange(false, true); int nDataBaseIndex = data.nPageIndex; lTopButtonDataIndex.Add(nDataBaseIndex); // 储存数据库页数 因为数据库创建删除都是根据数据库页数来的,避免重复 if (nMaxDataIndex < nDataBaseIndex) { nMaxDataIndex = nDataBaseIndex; } } uCurRunePageData = runePageDataManager[0]; CopySelfRunePageDateManagerInfo(); UpdateRuneInlayTypeLeftStore(); SetRuneChangeMessage(); return(true); }
/////////////////////////////////////////////////////数据载入区/////////////////////////////////////////////////////// public void ReceiveEntityViewTalentInfo(IntPtr ptrParam, int nPtrLen, ref int nPageNum) { IntPtrVaArgParseHelper helper = new IntPtrVaArgParseHelper(ptrParam, nPtrLen); cmd_count nCountdata = helper.get <cmd_count>(); nPageNum = nCountdata.nCount; this.nMaxSortIndex = nCountdata.nCount; for (int i = 0; i < nCountdata.nCount; ++i) { NewPagePointsItem(i + 1); cmd_TalentPage_Points_Single data = helper.get <cmd_TalentPage_Points_Single>(); if (uCurTalentPageData == null) { continue; } for (int j = 0; j < data.nTalentNum; j++) { int nPoint = data.nTalentPoints[j]; int nTalentId = data.nTalentId[j]; uCurTalentPageData.dTalentTempPoints[nTalentId] = nPoint; int nTalentType = TalentPage.Instance.GetSingleTalentType(nTalentId); if (nTalentType == (int)TalentType.ENUM_TALENTTYPE_ATTACK) { uCurTalentPageData.nAttackPoints += nPoint; } else if (nTalentType == (int)TalentType.ENUM_TALENTTYPE_TRICK) { uCurTalentPageData.nTrickPoints += nPoint; } else if (nTalentType == (int)TalentType.ENUM_TALENTTYPE_HELP) { uCurTalentPageData.nHelperPoints += nPoint; } } if (data.szTalentPageName == "" || data.szTalentPageName == null) { uCurTalentPageData.sTempName = "TalentPage" + (i + 1); } else { uCurTalentPageData.sTempName = data.szTalentPageName; } this.SetTalentPageChange(true); uCurTalentPageData.SetSaveData(); // 必须有数据改变才保存 this.SetTalentPageChange(false); int nDataBaseIndex = data.nCurPageIndex; lTopButtonDataIndex.Add(nDataBaseIndex); // 储存数据库页数 因为数据库创建删除都是根据数据库页数来的,避免重复 if (nMaxDataIndex < nDataBaseIndex) { nMaxDataIndex = nDataBaseIndex; } } UpdatePersentLevel(); }