// 设置单个玩家的对战信息
        public void setVSInfoPlayerInfo(cmd_entity_end_player_data cmdData, int nScoreTop, int nMoneyTop, int nKillTop, int nDieTop, int nAssTop)
        {
            ulong uPDBID = cmdData.pDbid;

            int nIndex = LogicDataCenter.recordTableDataManager.getIndexAcordPDBID(uPDBID);

            if (nIndex == -1)
            {
                return;
            }

            int i = 0;

            if (nIndex < UDefines.WAR_PERSON_MAX_COUNT / 2)
            {
                i = nCurVSInfoBlueIndex++;
            }
            else
            {
                i = nCurVSInfoRedIndex++;
            }

            if (i < this.VSInfoPlayerInfo.Length && this.VSInfoPlayerInfo[i] != null)
            {
                this.VSInfoPlayerInfo[i].setPlayerInfo(cmdData, nScoreTop, nMoneyTop, nKillTop, nDieTop, nAssTop);
            }
        }
        // 設置單獨玩家數據圖表的信息
        public void setDataChartPlayerInfo(cmd_entity_end_player_data cmdData)
        {
            ulong uPDBID = cmdData.pDbid;
            // 根据pdbid找到玩家对应的位置
            int nIndex = LogicDataCenter.recordTableDataManager.getIndexAcordPDBID(uPDBID);

            if (nIndex < 0)
            {
                return;
            }

            int i = 0;

            if (nIndex < UDefines.WAR_PERSON_MAX_COUNT / 2)
            {
                i = nCurDataChartBlueIndex++;
            }
            else
            {
                i = nCurDataChartRedIndex++;
            }

            if (DataChartPlayer[i] != null)
            {
                DataChartPlayer[i].setPlayerInfo(cmdData, dicToggle);
                DataChartPlayers.Add(DataChartPlayer[i]);
            }
        }
예제 #3
0
 // 获得金钱,杀人, 死亡, 助攻最多的次数
 public void getDataTop(ref int nScoreTop, ref int nMoneyTop, ref int nKillTop, ref int nDietop, ref int nAssistTop)
 {
     //foreach (KeyValuePair<ulong, WarRecordTableDataManager.WarPersonInfo> kvp in recordInfoArry)
     foreach (var item in endRecordInfoArray)
     {
         //int nIndex = item.Value.data.;
         cmd_entity_end_player_data warInfo = item.Value.data;
         if (nScoreTop < warInfo.nScore)
         {
             nScoreTop = warInfo.nScore;
         }
         if (nMoneyTop < warInfo.gzAllData[(int)ERecord_Data_Type.ERDT_MONEY])
         {
             nMoneyTop = warInfo.gzAllData[(int)ERecord_Data_Type.ERDT_MONEY];
         }
         if (nKillTop < warInfo.gzAllData[(int)ERecord_Data_Type.ERDT_KILLNUM])
         {
             nKillTop = warInfo.gzAllData[(int)ERecord_Data_Type.ERDT_KILLNUM];
         }
         if (nDietop < warInfo.gzAllData[(int)ERecord_Data_Type.ERDT_DEADNUM])
         {
             nDietop = warInfo.gzAllData[(int)ERecord_Data_Type.ERDT_DEADNUM];
         }
         if (nAssistTop < warInfo.gzAllData[(int)ERecord_Data_Type.ERDT_ASSIST])
         {
             nAssistTop = warInfo.gzAllData[(int)ERecord_Data_Type.ERDT_ASSIST];
         }
     }
 }
예제 #4
0
        // 当点击炫耀时将自己的对战信息发送到聊天框中
        public void onClickFlauntButton()
        {
            EntityView objMaster = EntityFactory.getMainPlayer();

            if (objMaster == null)
            {
                Debug.LogError(" objMaster == NULL ");
                return;
            }
            ulong pDBID = (ulong)objMaster.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_ID);
            Dictionary <ulong, WarRecordTableDataManager.swar_flaunt_result> dicCmdData = LogicDataCenter.recordTableDataManager.getWarEndPlayerData();
            int   nGlory           = 0;
            int   nMultKillMax     = 0;
            int   nContinueKillMax = 0;
            Int64 lWarID           = 0;

            if (dicCmdData.ContainsKey(pDBID))
            {
                cmd_entity_end_player_data cmdData = dicCmdData[pDBID].data;
                nGlory           = cmdData.nTitle;
                nMultKillMax     = cmdData.gzAllData[(int)ERecord_Data_Type.ERDT_TIMEKILLMAX];
                nContinueKillMax = cmdData.gzAllData[(int)ERecord_Data_Type.ERDT_ALIVECONTKILLMAX];
                lWarID           = dicCmdData[pDBID].dbWarID;
            }

            LogicDataCenter.warStatisticDataManager.ShowWarResult((int)pDBID, lWarID, nGlory, nMultKillMax, nContinueKillMax);
        }
예제 #5
0
        // 设置单个玩家的对战信息
        public void setVSInfoPlayerInfo(cmd_entity_end_player_data cmdData, int nScoreTop, int nMoneyTop, int nKillTop, int nDieTop, int nAssTop)
        {
            ulong uPDBID = cmdData.pDbid;

            int i = cmdData.bIsSelf > 0 ? 0 : 1;

            if (i < this.VSInfoPlayerInfo.Length && this.VSInfoPlayerInfo[i] != null)
            {
                this.VSInfoPlayerInfo[i].setPlayerInfo(cmdData, nScoreTop, nMoneyTop, nKillTop, nDieTop, nAssTop);
            }
        }
예제 #6
0
        // 设置框架基本信息
        private void SetRecordTableBaseInfo()
        {
            if (m_wndView == null)
            {
                return;
            }

            // 计算最佳数据
            int nScoreTop = 0, nMoneyTop = 0, nKillTop = 0, nDieTop = 0, nAssistTop = 0;

            LogicDataCenter.recordTableDataManager.getDataTop(ref nScoreTop, ref nMoneyTop, ref nKillTop, ref nDieTop, ref nAssistTop);

            Dictionary <ulong, WarRecordTableDataManager.swar_flaunt_result> playerDataDic = LogicDataCenter.recordTableDataManager.getWarEndPlayerData();
            Dictionary <ulong, WarRecordTableDataManager.WarPersonInfo>      dicPersonInfo = LogicDataCenter.recordTableDataManager.recordInfoArry;

            WarRecordTableDataManager.WarPersonInfo mainPlayerInfo = dicPersonInfo[(ulong)LogicDataCenter.playerSystemDataManager.SelfAcotrID];
            foreach (KeyValuePair <ulong, WarRecordTableDataManager.WarPersonInfo> kvp in dicPersonInfo)
            {
                WarRecordTableDataManager.WarPersonInfo personInfo = kvp.Value;
                if (mainPlayerInfo.nCamp == personInfo.nCamp)
                {
                    cmd_entity_end_player_data data = default(cmd_entity_end_player_data);
                    WarRecordTableDataManager.swar_flaunt_result flaunt;
                    if (playerDataDic.TryGetValue(personInfo.uPDBID, out flaunt))
                    {
                        data = flaunt.data;
                    }
                    else
                    {
                        data.bIsSelf   = kvp.Value.uPDBID == mainPlayerInfo.uPDBID ? 1 : 0;
                        data.gzAllData = new int[(int)ERecord_Data_Type.ERDT_MAX];
                        data.gzAllData[(int)ERecord_Data_Type.ERDT_MONEY]   = personInfo.nMobaWarMoney;
                        data.gzAllData[(int)ERecord_Data_Type.ERDT_KILLNUM] = personInfo.nKillNum;
                        data.gzAllData[(int)ERecord_Data_Type.ERDT_DEADNUM] = personInfo.nKillNum;
                        data.gzAllData[(int)ERecord_Data_Type.ERDT_ASSIST]  = personInfo.nAssists;
                        data.nCamp        = personInfo.nCamp;
                        data.nIconId      = personInfo.nHeroId;
                        data.nPlayerType  = personInfo.nPlayerType;
                        data.pDbid        = (uint)personInfo.uPDBID;
                        data.szPlayerName = personInfo.playerName;
                    }

                    // 设置数据
                    m_wndView.setVSInfoPlayerInfo(data, nScoreTop, nMoneyTop, nKillTop, nDieTop, nAssistTop);
                }
            }

            // 设置奖励信息
            m_wndView.setAwardInfoData();

            // 设置排名信息
            m_wndView.SetRankSurvial();
        }
예제 #7
0
        // 获取本地玩家的战绩
        public bool getMainHeroWarStat(out cmd_entity_end_player_data data)
        {
            data = new cmd_entity_end_player_data();
            foreach (var item in endRecordInfoArray)
            {
                if (item.Value.data.bIsSelf > 0)
                {
                    data = item.Value.data;
                    return(true);
                }
            }

            return(false);
        }
        public void setDataGridPlayerInfo(cmd_entity_end_player_data cmdData, int[] gzAllDataTop)
        {
            int   nMainHeroID = EntityUtil.getMainHeroHeroID();
            ulong uPDBID      = cmdData.pDbid;

            int nIndex = LogicDataCenter.recordTableDataManager.getIndexAcordPDBID(uPDBID);

            if (nIndex == -1)
            {
                return;
            }

            int i = 0;

            if (nIndex < UDefines.WAR_PERSON_MAX_COUNT / 2)
            {
                i = nCurDataGridBlueIndex++;
            }
            else
            {
                i = nCurDataGridRedIndex++;
            }

            // 玩家战绩
            if (DataGridPlayer[i] != null)
            {
                DataGridPlayer[i].setPlayerInfo(cmdData, gzAllDataTop);
            }

            // 玩家头像
            if (PlayerHead[i] != null)
            {
                Sprite    sp        = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_HeadPortrait, WndID.WND_ID_WAR_RECORDTABLE_END, 1, 7, cmdData.nIconId);
                Transform headTrans = PlayerHead[i].transform.FindChild("HeroHead");
                if (headTrans != null)
                {
                    headTrans.GetComponent <Image>().sprite = sp;
                    headTrans.gameObject.SetActive(true);
                }

                if (cmdData.bIsSelf > 0)
                {
                    Transform selfImageTrans = PlayerHead[i].transform.FindChild("SelfImage");
                    if (selfImageTrans != null)
                    {
                        selfImageTrans.gameObject.SetActive(true);
                    }
                }
            }
        }
예제 #9
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;
            }
        }
예제 #10
0
        // 设置框架基本信息
        protected void SetRecordTableBaseInfo()
        {
            // 计算最佳数据
            int nScoreTop = 0, nMoneyTop = 0, nKillTop = 0, nDieTop = 0, nAssistTop = 0;

            LogicDataCenter.recordTableDataManager.getDataTop(ref nScoreTop, ref nMoneyTop, ref nKillTop, ref nDieTop, ref nAssistTop);
            int[] gzAllDataTop = LogicDataCenter.recordTableDataManager.getDataTopEx();

            // 设置玩家数据
            cmd_entity_end_player_data selfData = new cmd_entity_end_player_data();
            Dictionary <ulong, WarRecordTableDataManager.swar_flaunt_result> playerDataDic = LogicDataCenter.recordTableDataManager.getWarEndPlayerData();

            foreach (var item in playerDataDic)
            {
                if (item.Value.data.bIsSelf > 0)
                {
                    selfData = item.Value.data;
                }

                // 设置数据
                m_wndView.setVSInfoPlayerInfo(item.Value.data, nScoreTop, nMoneyTop, nKillTop, nDieTop, nAssistTop);
                m_wndView.setDataGridPlayerInfo(item.Value.data, gzAllDataTop);
                m_wndView.setDataChartPlayerInfo(item.Value.data);
            }

            if (StageManager.Instance.CurPermissionState == EStage_PermissionState.ESPS_NORMAL)
            {
                // 设置奖励信息
                m_wndView.setAwardInfoData();
            }

            // 设置数据网格默认选项
            m_wndView.setRecordTable3DefualtToggle();

            // 显示玩家增益卡信息
            m_wndView.displayBenefitCardInfo();

            // 设置击杀个数
            m_wndView.setKillNum();

            // 设置排位信息
            m_wndView.setRankInfo(selfData);
        }
 // 设置玩家的信息
 public void setPlayerInfo(cmd_entity_end_player_data cmdData, int[] gzAllDataTop)
 {
     for (int i = 0; i < (int)ERecord_Data_Type.ERDT_MAX1; ++i)
     {
         int data = cmdData.gzAllData[i];
         if (i == (int)ERecord_Data_Type.ERDT_FIRSTBLOOD)
         {
             if (data > 0)
             {
                 DataArrayText[i].text = String.Format("<color=#FFCE34FF>{0}</color>", ULocalizationService.Instance.Get("UIView", "WarStatistic", "IsFirstBlood"));
             }
             else
             {
                 DataArrayText[i].text = ULocalizationService.Instance.Get("UIView", "WarStatistic", "IsntFirstBlood");
             }
         }
         else if (i == (int)ERecord_Data_Type.ERDT_MONEYRATE ||
                  i == (int)ERecord_Data_Type.ERDT_JOINBATTLERATE ||
                  i == (int)ERecord_Data_Type.ERDT_OUTPUTRATE)
         {
             if (data > 0 && data == gzAllDataTop[i])
             {
                 DataArrayText[i].text = String.Format("<color=#FFCE34FF>{0}%</color>", data);
             }
             else
             {
                 DataArrayText[i].text = String.Format("{0}%", data);
             }
         }
         else
         {
             if (data > 0 && data == gzAllDataTop[i])
             {
                 DataArrayText[i].text = String.Format("<color=#FFCE34FF>{0}</color>", data);
             }
             else
             {
                 DataArrayText[i].text = data.ToString();
             }
         }
     }
 }
        // 设置玩家信息
        public void setPlayerInfo(cmd_entity_end_player_data cmdData, Dictionary <int, Toggle> dicToggle)
        {
            if (cmdData.bIsSelf > 0)
            {
                selfImage.SetActive(true);
            }
            else
            {
                selfImage.SetActive(false);
            }

            heroIcon.gameObject.SetActive(true);
            heroIcon.sprite = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_HeadPortrait, WndID.WND_ID_WAR_RECORDTABLE_END, 1, 7, cmdData.nIconId);

            for (int i = 0; i < (int)ERecord_Data_Type.ERDT_MAX1; ++i)
            {
                GameObject instance = reqRes.InstanceMainRes();
                if (!instance)
                {
                    Debug.LogError("setPlayerInfo instance = NULL");
                    return;
                }
                instance.name = reqRes.AssetName + "_" + cmdData.szPlayerName;
                instance.transform.SetParent(DataGroup.transform, false);

                UWarData warData = instance.GetComponent <UWarData>();
                if (warData != null)
                {
                    warData.initDataImage(i, cmdData.gzAllData[i], cmdData.nCamp);
                    warData.gameObject.SetActive(false);
                    if (dicToggle.ContainsKey(i))
                    {
                        dicWarData[dicToggle[i]] = warData;
                    }
                }
            }
        }
예제 #13
0
        public void setPlayerInfo(cmd_entity_end_player_data cmdData, int nScoreTop, int nMoneyTop, int nKillTop, int nDieTop, int nAssTop)
        {
            //normalFrame.gameObject.SetActive(false);
            heroHead.gameObject.SetActive(true);
            heroHead.sprite = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_HeadPortrait, WndID.WND_ID_WAR_RECORDTABLE_END, 1, 7, cmdData.nIconId);

            if (cmdData.bIsSelf > 0)
            {
                selfImage.SetActive(true);
                playerName.text = String.Format("<color=#55ea91>{0}</color>", cmdData.szPlayerName);
            }
            else
            {
                selfImage.SetActive(false);
                playerName.text = cmdData.szPlayerName;
            }

            // 击杀比
            int    nKillNum = cmdData.gzAllData[(int)ERecord_Data_Type.ERDT_KILLNUM];
            int    nDeadNum = cmdData.gzAllData[(int)ERecord_Data_Type.ERDT_DEADNUM];
            int    nAssNum = cmdData.gzAllData[(int)ERecord_Data_Type.ERDT_ASSIST];
            string strKillNum, strDeadNum, strAssistNum;

            if (nKillTop != 0 && nKillNum == nKillTop)
            {
                strKillNum = "<color=#FF6E2E>" + nKillNum + "</color>";
            }
            else
            {
                strKillNum = nKillNum.ToString();
            }

            //if (nDieTop != 0 && nDeadNum == nDieTop)
            //strDeadNum = "<color=#FF6E2E>" + nDeadNum + "</color>";
            //else
            strDeadNum = nDeadNum.ToString();

            if (nAssTop != 0 && nAssNum == nAssTop)
            {
                strAssistNum = "<color=#FF6E2E>" + nAssNum + "</color>";
            }
            else
            {
                strAssistNum = nAssNum.ToString();
            }
            KDA.text = String.Format("{0}/{1}/{2}", strKillNum, strDeadNum, strAssistNum);

            int nMoney = cmdData.gzAllData[(int)ERecord_Data_Type.ERDT_MONEY];

            if (nMoney == nMoneyTop)
            {
                gameMoney.text = "<color=#FF6E2E>" + nMoney + "</color>";
            }
            else
            {
                gameMoney.text = nMoney.ToString();
            }

            int nScore = cmdData.nScore;

            if (nScore == nScoreTop)
            {
                ScoreText.text = "<color=#FF6E2E>" + nScore + "</color>";
            }
            else
            {
                ScoreText.text = nScore.ToString();
            }

            int nLv = LogicDataCenter.recordTableDataManager.getHeroLvAcordPDBID(cmdData.pDbid);

            //heroLv.text = nLv.ToString();

            // 加载召唤师技能预制体
            if (SummonerReqRes == null)
            {
                Debug.LogError("setPlayerInfo req = null");
                return;
            }
            // 现在只有一个召唤师技能
            GameObject instance = SummonerReqRes.InstanceMainRes();

            if (!instance)
            {
                Debug.LogError("setPlayerInfo instance = NULL");
                return;
            }
            instance.name = SummonerReqRes.AssetName;
            instance.transform.SetParent(SummonerSkillGroup.transform, false);
            USummonerInfo summonerInfo = instance.GetComponent <USummonerInfo>();

            if (summonerInfo != null)
            {
                summonerInfo.setSummonerPic(cmdData.nTalentSkillId1);
            }

            // 装备
            List <cmd_war_persongoodsinfo> listEquipInfo = LogicDataCenter.warMobaGoodsDataManager.GetPlayerGoodsInfo(cmdData.pDbid);

            for (int i = 0; i < EquipCount; ++i)
            {
                UEquipInfo EquipInfo = EquipInfos[i];
                if (EquipInfo != null && listEquipInfo != null && i < listEquipInfo.Count)
                {
                    EquipInfo.setData(listEquipInfo[i].nGoodID);
                }
            }

            // 设置荣誉信息
            int nTitle = cmdData.nTitle;

            if ((nTitle & (int)EWarMedal.EWM_SCORE) > 0)
            {
                AddTitleIcon((int)AchiIconType.Icon_MVP);
            }

            if ((nTitle & (int)EWarMedal.EWM_MVPOFLOSER) > 0)
            {
                AddTitleIcon((int)AchiIconType.Icon_MvpOfLoser);
            }

            if ((nTitle & (int)EWarMedal.EWM_OUTPUT) > 0)
            {
                AddTitleIcon((int)AchiIconType.Icon_TopDamage);
            }

            if ((nTitle & (int)EWarMedal.EWM_KILLCOUNT) > 0)
            {
                AddTitleIcon((int)AchiIconType.Icon_TopKill);
            }

            if ((nTitle & (int)EWarMedal.EWM_ASSCOUNT) > 0)
            {
                AddTitleIcon((int)AchiIconType.Icon_TopAssist);
            }

            if ((nTitle & (int)EWarMedal.EWM_DAMAGE) > 0)
            {
                AddTitleIcon((int)AchiIconType.Icon_TopTank);
            }

            if ((nTitle & (int)EWarMedal.EWM_DESTORYTOWER) > 0)
            {
                AddTitleIcon((int)AchiIconType.Icon_TopTowerKill);
            }

            if ((nTitle & (int)EWarMedal.EWM_MONEY) > 0)
            {
                AddTitleIcon((int)AchiIconType.Icon_TopRich);
            }
            // 不显示补兵最多图标
            //if ((nMedal & (int)EWarMedal.EWM_KILLMONSTER) > 0)
            //    AddTitleIcon((int)AchiIconType.Icon_TopFarm);
            if ((nTitle & (int)EWarMedal.EWM_DEADLYCONTROL) > 0)
            {
                AddTitleIcon((int)AchiIconType.Icon_DeadlyControl);
            }

            if ((nTitle & (int)EWarMedal.EWM_THRILLSAVE) > 0)
            {
                AddTitleIcon((int)AchiIconType.Icon_ThrilSave);
            }

            if ((nTitle & (int)EWarMedal.EWM_TEAMCONTROL) > 0)
            {
                AddTitleIcon((int)AchiIconType.Icon_TeamControl);
            }

            if (cmdData.gzAllData[(int)ERecord_Data_Type.ERDT_ALIVECOUTASSISTMAX] >= 15)
            {
                AddTitleIcon((int)AchiIconType.Icon_AliveAssist);
            }

            if (cmdData.gzAllData[(int)ERecord_Data_Type.ERDT_ALIVECONTKILLMAX] >= 8)
            {
                AddTitleIcon((int)AchiIconType.Icon_Godlike);
            }

            if (cmdData.gzAllData[(int)ERecord_Data_Type.ERDT_TIMEKILLMAX] == 3)
            {
                AddTitleIcon((int)AchiIconType.Icon_TripleKill);
            }

            if (cmdData.gzAllData[(int)ERecord_Data_Type.ERDT_TIMEKILLMAX] == 4)
            {
                AddTitleIcon((int)AchiIconType.Icon_FourKill);
            }

            if (cmdData.gzAllData[(int)ERecord_Data_Type.ERDT_TIMEKILLMAX] >= 5)
            {
                AddTitleIcon((int)AchiIconType.Icon_FiveKill);
            }

            if ((nTitle & (int)EWarMedal.EWM_KILLDRAGON) > 0)
            {
                AddTitleIcon((int)AchiIconType.Icon_KillDragon);
            }

            if ((nTitle & (int)EWarMedal.EWM_JOINBATTLE) > 0)
            {
                AddTitleIcon((int)AchiIconType.Icon_JoinBattle);
            }

            if ((nTitle & (int)EWarMedal.EWM_CURE) > 0)
            {
                AddTitleIcon((int)AchiIconType.Icon_Cure);
            }
        }
예제 #14
0
        // 设置排位信息
        public void setRankInfo(cmd_entity_end_player_data selfData)
        {
            Debug.Log(String.Format("{0}({1}),{2},当前分:{3},上次分:{4}本局分:{5}", selfData.nMatchType, selfData.szMatchTypeName, selfData.nUpgradeRank, selfData.nPlayerMatchScore,
                                    selfData.nPreMatchTypeScore, selfData.nMatchScore));

            // 胜利且是排位赛才显示
            if ((EMMatchType)selfData.nMatchType == EMMatchType.MatchType_Rank)
            {
                // todo 战场的要单独处理下 王者段位以上的 只加分了 段位是单独换算的
                int    nBaseKingRankScore = GameLogicAPI.getMatchtTypeBaseKingRankScore(selfData.nMatchType);
                int    nMatchType         = selfData.nMatchType;
                int    nCurRankScore      = selfData.nPlayerMatchScore;
                int    nRankIconID        = GameLogicAPI.getActorRankIconID(nMatchType, nCurRankScore);
                int    nRankStar          = 0;
                string strRankName        = "";
                if (nCurRankScore >= nBaseKingRankScore)
                {
                    if (selfData.nPreMatchTypeScore >= nBaseKingRankScore)
                    {
                        // 本来就是王者段位的就取以前的等级
                        nRankIconID = GameLogicAPI.getRankIconIDByGrade(nMatchType, selfData.nPreMatchTypeGrade);
                        nRankStar   = GameLogicAPI.getActorRankStar(nMatchType, nBaseKingRankScore);
                        // 段位名称
                        IntPtr ptr = GameLogicAPI.getActorRankNameByGrade(nMatchType, selfData.nPreMatchTypeGrade);
                        if (ptr != IntPtr.Zero)
                        {
                            strRankName = IntPtrHelper.Ptr2Str(ptr);
                        }

                        // 升星级个数
                        int nDiff = 0;
                        if (selfData.nCurStarSection > 0)
                        {
                            nDiff = selfData.nMatchScore / selfData.nCurStarSection;
                        }

                        //当前星级 +
                        if (nDiff < 0)
                        {
                            StarUpDesc.gameObject.SetActive(true);
                            StarUpDesc.text = String.Format("星级:{0} 本局星级{1}", nRankStar, nDiff);
                        }
                        else if (nDiff > 0)
                        {
                            StarUpDesc.gameObject.SetActive(true);
                            StarUpDesc.text = String.Format("星级:{0} 本局星级+{0}", nRankStar, nDiff);
                        }
                        else
                        {
                            StarUpDesc.gameObject.SetActive(false);
                        }
                    }
                    else
                    {
                        // 新升级到王者段位的
                        nRankIconID = GameLogicAPI.getActorRankIconID(nMatchType, nCurRankScore);
                        nRankStar   = GameLogicAPI.getActorRankStar(nMatchType, nCurRankScore);
                        // 段位名称
                        IntPtr ptr = GameLogicAPI.getActorRankName(nMatchType, nCurRankScore);
                        if (ptr != IntPtr.Zero)
                        {
                            strRankName = IntPtrHelper.Ptr2Str(ptr);
                        }

                        if (selfData.nUpgradeRank > 0)
                        {
                            StarUpDesc.gameObject.SetActive(true);
                            StarUpDesc.text = String.Format("星级+{0}", 1);
                        }
                    }
                    GradeDesc.text = strRankName;
                }
                else
                {
                    nRankStar = GameLogicAPI.getActorRankStar(nMatchType, nCurRankScore);
                    int nMaxRankStar = GameLogicAPI.getActorCurRankMaxStar(nMatchType, nCurRankScore);

                    int nOldRankScore = selfData.nPreMatchTypeScore;
                    int nOldRankStar  = GameLogicAPI.getActorRankStar(nMatchType, nOldRankScore);

                    // 段位名称
                    IntPtr ptr = GameLogicAPI.getActorRankName(nMatchType, nCurRankScore);
                    if (ptr != IntPtr.Zero)
                    {
                        strRankName = IntPtrHelper.Ptr2Str(ptr);
                    }
                    GradeDesc.text = strRankName;

                    // 当前段位所有星级
                    m_RankIconList = new Image[nMaxRankStar];
                    for (int i = 0; i < nMaxRankStar; ++i)
                    {
                        GameObject RankIconItem = ResNode.InstantiateRes(RankIconDefaultItem);
                        RankIconItem.transform.SetParent(RankIconDefaultItem.transform.parent, false);
                        RankIconItem.SetActive(true);

                        m_RankIconList[i] = RankIconItem.GetComponent <Image>();
                    }

                    // 当前拥有星级
                    for (int j = 0; j < nRankStar; ++j)
                    {
                        m_RankIconList[j].sprite = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_RankStarImage, WndID.WND_ID_WAR_RECORDTABLE_END, 2);
                    }

                    if (selfData.nUpgradeRank == 0) // 段位未发生改变
                    {
                        // 升星级个数
                        int nDiff = nRankStar - nOldRankStar;
                        if (nDiff < 0)
                        {
                            StarUpDesc.gameObject.SetActive(true);
                            StarUpDesc.text = String.Format("星级{0}", nDiff);
                        }
                        else if (nDiff > 0)
                        {
                            StarUpDesc.gameObject.SetActive(true);
                            StarUpDesc.text = String.Format("星级+{0}", nDiff);
                        }
                        else
                        {
                            StarUpDesc.gameObject.SetActive(false);
                        }
                    }
                    else if (selfData.nUpgradeRank < 0)
                    {
                        StarUpDesc.gameObject.SetActive(true);
                        StarUpDesc.text = String.Format("星级-{0}", 1);
                    }
                    else if (selfData.nUpgradeRank > 0)
                    {
                        StarUpDesc.gameObject.SetActive(true);
                        StarUpDesc.text = String.Format("星级+{0}", 1);
                    }
                }
            }
            else
            {
                RankScoreTip.gameObject.SetActive(false);
            }

            SSchemeWarStatisticMapConfig warStatConfig = ASpeedGame.Data.WarStatisticMap.WarStatisticMapConfig.Instance.getWarStatMapConfig(selfData.nMatchType);

            if (warStatConfig != null)
            {
                MatchTypeText.text = warStatConfig.strName;
            }
            else
            {
                MatchTypeText.text = "";
            }
        }
 // 设置单个玩家的数据网络信息
 public void setDataGridPlayerInfo(cmd_entity_end_player_data cmdData, int[] gzAllDataTop)
 {
     DataGrid.setDataGridPlayerInfo(cmdData, gzAllDataTop);
 }
예제 #16
0
 public void onEnterLoginState()
 {
     LastWarStat = new cmd_entity_end_player_data();
 }