示例#1
0
        // 接收杯赛战队荣誉
        public void OnRecvLegendKinGlory(IntPtr ptr, int nLen)
        {
            IntPtrVaArgParseHelper helper = new IntPtrVaArgParseHelper(ptr, nLen);

            m_LegendGloryHead = helper.get <cmd_kin_glory_head>();

            m_LegendGloryNodeList.Clear();
            for (int i = 0; i < m_LegendGloryHead.nCount; i++)
            {
                cmd_kin_glory_node nodeData = helper.get <cmd_kin_glory_node>();
                m_LegendGloryNodeList.Add(nodeData);
            }

            UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_LEGENDCUP_KINGLORY_RECV, null);
        }
示例#2
0
        public void SetKinGloryData()
        {
            cmd_kin_glory_head gloryHead = LogicDataCenter.kinDataManager.LegendGloryHead;

            GloryKinName.text = gloryHead.szKinName;
            int nTotalNum = gloryHead.nWinNum + gloryHead.nLoseNum;

            GloryTotalNum.text = nTotalNum.ToString();
            GloryWinNum.text   = gloryHead.nWinNum.ToString();
            int nWinPro = nTotalNum > 0 ? (gloryHead.nWinNum * 100 / nTotalNum) : 0;

            GloryWinPro.text        = String.Format("{0}%{1}", nWinPro, ULocalizationService.Instance.Get("UIView", "Common", "WinRate"));
            GloryWinSlider.value    = (float)gloryHead.nWinNum / nTotalNum;
            GloryWinSlider.maxValue = 1;
            GloryGodNum.text        = gloryHead.nGodNum.ToString();
            Glory5KillNum.text      = gloryHead.n5KillNum.ToString();
            Glory4KillNum.text      = gloryHead.n4KillNum.ToString();
            Glory3KillNum.text      = gloryHead.n3KillNum.ToString();
            GloryDeathNum.text      = gloryHead.nDeathNum.ToString();
            GloryKillNum.text       = gloryHead.nKillNum.ToString();
            GloryAssistNum.text     = gloryHead.nAssistNum.ToString();

            ListKinGloryCup.DataSource.BeginUpdate();
            ListKinGloryCup.DataSource.Clear();
            ObservableList <UListItemKinGloryCup> dataSource    = new ObservableList <UListItemKinGloryCup>();
            List <cmd_kin_glory_node>             gloryNodeList = LogicDataCenter.kinDataManager.LegendGloryNodeList;

            for (int i = 0; i < gloryNodeList.Count; i++)
            {
                cmd_kin_glory_node nodeData = gloryNodeList[i];

                SSchemeLegendCupConfig cupConfig = LegendCupConfig.Instance.GetCupConfig(nodeData.nCupConfigID);
                if (cupConfig == null)
                {
                    continue;
                }
                // 8强赛保留12名,16强赛保留123名,32强赛保留前8名
                if (cupConfig.nMaxKinNum > 0 && cupConfig.nMaxKinNum <= 8 && nodeData.nCupRank > 2)
                {
                    continue;
                }
                else if (cupConfig.nMaxKinNum > 8 && cupConfig.nMaxKinNum <= 16 && nodeData.nCupRank > 3)
                {
                    continue;
                }
                else if (cupConfig.nMaxKinNum > 16 && cupConfig.nMaxKinNum <= 32 && nodeData.nCupRank > 8)
                {
                    continue;
                }

                UListItemKinGloryCup item = new UListItemKinGloryCup();
                item.nCupRank      = nodeData.nCupRank;
                item.MatchName     = nodeData.szCupName;
                item.llLegendCupID = nodeData.llLegendCupId;
                item.nCupConfigID  = nodeData.nCupConfigID;
                item.nEndTime      = nodeData.nEndTime;
                item.ConfigName    = cupConfig.sCupConfigName;

                dataSource.Add(item);
            }
            ListKinGloryCup.DataSource = dataSource;
            ListKinGloryCup.DataSource.EndUpdate();
        }