public bool ReceiveOtherPlayerEntityViewRuneInfo(int nOtherPlayerId) { OtherActorRuneInfo otherInfo = LogicDataCenter.playerSystemDataManager.GetActorAllRune(nOtherPlayerId); if (otherInfo == null) { return(false); } // 再压出每个符文页的详细信息 int nRunePageCount = otherInfo.totalRune.nPageNum; if (nRunePageCount <= 0) { return(false); } this.nMaxSortIndex = nRunePageCount; for (int i = 0; i < nRunePageCount; ++i) { NewPagePointsItem(i + 1); if (uCurRunePageData == null) { continue; } if (i < 0 || i >= otherInfo.totalRunePage.Count) { continue; } cmd_Rune_Single_PageInfo data = otherInfo.totalRunePage[i]; 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); uCurRunePageData.SetSaveData(); this.SetRunePageChange(false); } return(true); }
public bool SetSaveSingleRunePage() { cmd_Rune_Single_PageInfo cmdSinglePoint = new cmd_Rune_Single_PageInfo(); bool bSave = LogicDataCenter.runePageDataManager.SetSaveSingleRunePage(ref cmdSinglePoint); if (!bSave) { return(true); } EntityEventHelper.Instance.SendCommand <cmd_Rune_Single_PageInfo>(EntityFactory.MainHeroID, EntityLogicDef.ENTITY_CMD_SAVE_RUNE_PAGE, ref cmdSinglePoint); return(true); }
// 保存操作,发送到客户端 public bool SetSaveSingleRunePage(ref cmd_Rune_Single_PageInfo cmdSinglePoint) { // 当前页的名字和加点数都没修改直接返回 if (!uCurRunePageData.bIsChanged) { return(false); } if (uCurRunePageData == null) { return(false); } if (uCurRunePageData.dRuneTempSlotInfo == null) { return(false); } SavePointsData(); int nDicTempCount = uCurRunePageData.dRuneTempSlotInfo.Count; cmdSinglePoint.nRuneGroove = new int[nRuneMaxCount]; int nRuneNum = 0; foreach (int nRuneIdKey in uCurRunePageData.dRuneTempSlotInfo.Keys) { if (uCurRunePageData.dRuneTempSlotInfo[nRuneIdKey] == 0) { continue; } nRuneNum++; int nPoints = uCurRunePageData.dRuneTempSlotInfo[nRuneIdKey]; cmdSinglePoint.nRuneGroove[nRuneIdKey - 1] = nPoints; } SetRunePageChange(false); int nDataIndex = GetDataIndex(this.nCurPageSortIndex); cmdSinglePoint.nPageIndex = nDataIndex; cmdSinglePoint.nRuneNum = nRuneNum; cmdSinglePoint.sRunePageName = this.uCurRunePageData.sTempName; return(true); }
public void UpdateAllRune(IntPtr ptrParam, int nPtrLen) { IntPtrVaArgParseHelper helper = new IntPtrVaArgParseHelper(ptrParam, nPtrLen); cmd_Rune_Info_Total runeInfo = helper.get <cmd_Rune_Info_Total>(); OtherActorRuneInfo info = null; if (actorRune.TryGetValue(runeInfo.dwActorID, out info) == false) { return; } info.totalRune = runeInfo; info.totalRunePage.Clear(); for (int i = 0; i < info.totalRune.nPageNum; ++i) { cmd_Rune_Single_PageInfo data = helper.get <cmd_Rune_Single_PageInfo>(); info.totalRunePage.Add(data); } UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_RUNEPAGE_INITOTHERRUNEDATA, null); }
/////////////////////////////////////////////////////数据载入区/////////////////////////////////////////////////////// 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); }