Exemplo n.º 1
0
        /// <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;
                }
            }
        }
Exemplo n.º 2
0
        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();
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
    // 保存召唤师技能信息
    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);
        }
    }
Exemplo n.º 5
0
    // 功能型快捷键消息储存
    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);
        }
    }
Exemplo n.º 6
0
    // 禁用英雄是选择英雄后会返回禁用英雄的信息
    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);
        }
    }
Exemplo n.º 7
0
    // 禁用机器人
    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);
        }
    }
Exemplo n.º 8
0
        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);
            }
        }
Exemplo n.º 9
0
    // 存入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;
        }
    }
Exemplo n.º 10
0
        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();
        }
Exemplo n.º 11
0
        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);
            }
        }
Exemplo n.º 12
0
    //  设置默认天赋技能信息.调用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;
            }
        }
    }
Exemplo n.º 13
0
        // 接收战后统计数据
        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;
            }
        }
Exemplo n.º 14
0
    // 设置自己段位,青铜五--王者
    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;
            }
        }
    }
Exemplo n.º 15
0
    //右侧信息栏,同阵营玩家信息槽
    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);
        }
    }
Exemplo n.º 16
0
        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);
                }
            }
        }
Exemplo n.º 17
0
        // 初始化本主角玩家的所有英雄天赋数据
        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);
        }
Exemplo n.º 18
0
        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);
        }
Exemplo n.º 19
0
        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++;
            }
        }
Exemplo n.º 20
0
        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++;
                }
            }
        }
Exemplo n.º 21
0
    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);
        }
    }
Exemplo n.º 22
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);
        }
Exemplo n.º 23
0
        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);
        }
Exemplo n.º 24
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);
                }
            }
        }
Exemplo n.º 25
0
    //开始选择英雄
    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);
    }
Exemplo n.º 26
0
    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);
                }
            }
        }
    }
Exemplo n.º 27
0
        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);
        }
Exemplo n.º 28
0
    // 所有页的加点数据下发
    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;
            }
        }
    }
Exemplo n.º 29
0
        /////////////////////////////////////////////////////数据载入区///////////////////////////////////////////////////////

        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);
        }
Exemplo n.º 30
0
        /////////////////////////////////////////////////////数据载入区///////////////////////////////////////////////////////

        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();
        }