少年修仙传客户端代码仓库
client_Zxw
2018-12-22 78a08ed830070145265b3849364b92cd53236e21
5398 子 【开发】【1.4】跨服竞技场 / 【前端】【1.4】跨服竞技场开发
2个文件已修改
83 ■■■■■ 已修改文件
System/CrossServerOneVsOne/CrossServerRewardModel.cs 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/RankingWin.cs 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/CrossServerRewardModel.cs
@@ -22,6 +22,21 @@
    public List<Item_Class> ItemList;
}
public struct ZoneRankingStruct
{
    public int ZoneID;
    public int SeasonID;
    public override bool Equals(object obj)
    {
        var compare = (ZoneRankingStruct)obj;
        return this.ZoneID== compare.ZoneID && this.SeasonID == compare.SeasonID;
    }
    public override int GetHashCode()
    {
        return (ZoneID*1000+ SeasonID).GetHashCode();
    }
}
public class RankingInformationClass//排名信息
{
    public int Rankin;//名次
@@ -45,6 +60,8 @@
    CrossServerModel crossServerModel { get { return ModelCenter.Instance.GetModel<CrossServerModel>(); } }
    public Dictionary<int, SeasonAwardClass> SegmentRewardDic = new Dictionary<int, SeasonAwardClass>();
    public ImpactRankModel.RankAwardItem SeasonRewardDic = new ImpactRankModel.RankAwardItem();
    //Dictionary<int,>
    Dictionary<ZoneRankingStruct, Dictionary<int, RankingInformationClass>> ZoneRankingDic = new Dictionary<ZoneRankingStruct, Dictionary<int, RankingInformationClass>>();
    public Dictionary<int, RankingInformationClass> RankInformationDic = new Dictionary<int, RankingInformationClass>();
    public Action CrossRealmPKAwardStateUpdate;//领取奖励刷新
    public Action RankInformationUpdate;//排行奖励刷新
@@ -222,7 +239,7 @@
    public void CrossRealmPKBillboardInfo(HC005_tagGCCrossRealmPKBillboardInfo info)//跨服PK赛季排行榜
    {
        ZoneID = info.ZoneID;
        SeasonID = info.SeasonID;
        SeasonID = info.SeasonID;
        if (info.Count > 0)
        {
            RankInformationDic.Clear();
@@ -254,6 +271,17 @@
                }
            }
        }
        ZoneRankingStruct zoneRank = new ZoneRankingStruct();
        zoneRank.ZoneID = info.ZoneID;
        zoneRank.SeasonID = info.SeasonID;
        if (!ZoneRankingDic.ContainsKey(zoneRank))
        {
            ZoneRankingDic.Add(zoneRank, RankInformationDic);
        }
        else
        {
            ZoneRankingDic[zoneRank] = RankInformationDic;
        }
        if (RankInformationUpdate != null)
        {
            RankInformationUpdate();
System/CrossServerOneVsOne/RankingWin.cs
@@ -31,7 +31,9 @@
        [SerializeField] Text m_DivisionNameText2;//赛季名
        [SerializeField] Button m_PullButton2;//拉选按钮
        [SerializeField] GameObject m_ClickScreenOtherSpace2;
        [SerializeField] ScrollerController m_ScrollerController2;
        [SerializeField] ScrollerController m_ScrollerController2;
        CrossServerRewardModel m_CrossServerRewardModel;
        CrossServerRewardModel crossServerRewardModel { get { return m_CrossServerRewardModel ?? (m_CrossServerRewardModel = ModelCenter.Instance.GetModel<CrossServerRewardModel>()); } }
        #region Built-in
        protected override void BindController()
        {
@@ -49,24 +51,33 @@
        {
            m_TextScores.text = CrossServerPlayerInfo.Instance.Score.ToString();
            SetTextMyRank();
            OnCreateGridLineCell(m_ScrollerController);
            OnCreateGridLineCell(m_ScrollerController);
            m_ScrollerController.JumpIndex(0);
        }
        protected override void OnAfterOpen()
        {
            CrossServerPlayerInfo.Instance.UpdatePlayerInfoEvent += UpdatePlayerInfoEvent;
            crossServerRewardModel.RankInformationUpdate += RankInformationUpdate;
        }
        protected override void OnPreClose()
        {
            CrossServerPlayerInfo.Instance.UpdatePlayerInfoEvent -= UpdatePlayerInfoEvent;
            CrossServerPlayerInfo.Instance.UpdatePlayerInfoEvent -= UpdatePlayerInfoEvent;
            crossServerRewardModel.RankInformationUpdate -= RankInformationUpdate;
        }
        protected override void OnAfterClose()
        {
        }
        #endregion
        private void RankInformationUpdate()
        {
            m_ScrollerController.m_Scorller.RefreshActiveCellViews();//刷新可见
        }
        private void OnClickPullButton1()
        {
            m_ClickScreenOtherSpace1.SetActive(true);
@@ -120,6 +131,40 @@
                m_TextMyRank.text = "未上榜";
            }
        }
        private void SetZoneAndSeasonNum()
        {
            m_DivisionNameText1.text = crossServerRewardModel.ZoneID.ToString();
            m_DivisionNameText2.text = crossServerRewardModel.SeasonID.ToString();
        }
        private void ZoneAndSeasonpanel()
        {
            if (CrossServerPKSeason.Instance.ZoneCount > 1)//赛区
            {
                m_DivisionObj.gameObject.SetActive(true);
                if (m_ClickScreenOtherSpace1.activeSelf)
                {
                    m_ClickScreenOtherSpace1.SetActive(false);
                }
            }
            else
            {
                m_DivisionObj.gameObject.SetActive(false);
            }
            if (CrossServerPKSeason.Instance.SeasonID > 1)//赛区
            {
                m_SeasonObj.gameObject.SetActive(true);
                if (m_ClickScreenOtherSpace2.activeSelf)
                {
                    m_ClickScreenOtherSpace2.SetActive(false);
                }
            }
            else
            {
                m_SeasonObj.gameObject.SetActive(false);
            }
        }
    }
}