Beispiel #1
0
        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);
        }
Beispiel #2
0
        public OtherActorRuneInfo GetActorAllRune(int actorID = nDefaultSelfActorID)
        {
            CheckGetSelfPDBID(ref actorID);

            OtherActorRuneInfo info = null;

            if (actorRune.TryGetValue(actorID, out info))
            {
                return(info);
            }
            else
            {
                info               = new OtherActorRuneInfo();
                info.totalRune     = new cmd_Rune_Info_Total();
                info.totalRunePage = new List <cmd_Rune_Single_PageInfo>();
                actorRune[actorID] = info;
            }

            RequestAllRune(actorID);
            return(info);
        }
Beispiel #3
0
        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);
        }