예제 #1
0
        // 更新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);
        }
예제 #2
0
        // 更新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);
                }
            }
        }