少年修仙传客户端代码仓库
client_linchunjie
2018-12-25 f0bcf10afb9956dd82dc7b8470aa4333c3c87ab3
5504 【前端】【1.4】法宝标签页新增一个系列(王者法宝),王者法宝的功能开发
4个文件已修改
178 ■■■■ 已修改文件
Core/NetworkPackage/DTCFile/ServerPack/HC1_CrossRealm/DTCC103_tagMCCrossRealmPKPlayerHisSeasonInfo.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/CrossServerOneVsOneModel.cs 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Treasure/KingTreasureModel.cs 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Treasure/KingTreasureWin.cs 107 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HC1_CrossRealm/DTCC103_tagMCCrossRealmPKPlayerHisSeasonInfo.cs
@@ -17,7 +17,7 @@
        if (package != null)
        {
            ModelCenter.Instance.GetModel<KingTreasureModel>().OnReceivePackage(package);
            ModelCenter.Instance.GetModel<CrossServerOneVsOneModel>().OnReceivePackage(package);
        }
    }
System/CrossServerOneVsOne/CrossServerOneVsOneModel.cs
@@ -69,6 +69,7 @@
            CrossServerOneVsOnePKSeason.Instance.InitData();
            CrossServerOneVsOnePlayerInfo.Instance.InitData();
            pkResultInfo = new CrossServerOneVsOnePkResult();
            oneVsOneHistoryDict.Clear();
        }
        public void UpdateDayAwardState()
@@ -319,6 +320,43 @@
        }
        #endregion
        #region 历史记录
        Dictionary<int, CrossServerOneVsOneHistory> oneVsOneHistoryDict = new Dictionary<int, CrossServerOneVsOneHistory>();
        public event Action oneVsOneHistoryRefresh;
        public void OnReceivePackage(HC103_tagMCCrossRealmPKPlayerHisSeasonInfo package)
        {
            oneVsOneHistoryDict.Clear();
            for (int i = 0; i < package.Count; i++)
            {
                var data = package.SeasonList[i];
                oneVsOneHistoryDict[data.SeasonID] = new CrossServerOneVsOneHistory()
                {
                    season = data.SeasonID,
                    division = data.DanLV,
                    order = data.Order,
                    rewardLevel = data.AwardLV,
                };
            }
            if (oneVsOneHistoryRefresh != null)
            {
                oneVsOneHistoryRefresh();
            }
        }
        public bool TryGetOneVsOneHistory(int session, out CrossServerOneVsOneHistory history)
        {
            return oneVsOneHistoryDict.TryGetValue(session, out history);
        }
        public struct CrossServerOneVsOneHistory
        {
            public int season;
            public int order;
            public int division;
            public int rewardLevel;
        }
        #endregion
        #region 匹配记录
        private void GetLocalSaveData()
System/Treasure/KingTreasureModel.cs
@@ -10,10 +10,8 @@
        Dictionary<int, bool> treasureWearDict = new Dictionary<int, bool>();
        Dictionary<int, Dictionary<int, Division>> treasureDivisionDict = new Dictionary<int, Dictionary<int, Division>>();
        Dictionary<int, int> treasureSeasonDict = new Dictionary<int, int>();
        Dictionary<int, CrossServerOneVsOneHistory> oneVsOneHistoryDict = new Dictionary<int, CrossServerOneVsOneHistory>();
        public event Action<int> treasureWearRefresh;
        public event Action oneVsOneHistoryRefresh;
        public int wearCountLimit { get; private set; }
@@ -25,7 +23,6 @@
        public void OnBeforePlayerDataInitialize()
        {
            treasureWearDict.Clear();
            oneVsOneHistoryDict.Clear();
        }
        public void OnPlayerLoginOk()
@@ -86,26 +83,6 @@
            return treasureSeasonDict.TryGetValue(treasureId, out season);
        }
        public void OnReceivePackage(HC103_tagMCCrossRealmPKPlayerHisSeasonInfo package)
        {
            oneVsOneHistoryDict.Clear();
            for (int i = 0; i < package.Count; i++)
            {
                var data = package.SeasonList[i];
                oneVsOneHistoryDict[data.SeasonID] = new CrossServerOneVsOneHistory()
                {
                    season = data.SeasonID,
                    division = data.DanLV,
                    order = data.Order,
                    rewardLevel = data.AwardLV,
                };
            }
            if (oneVsOneHistoryRefresh != null)
            {
                oneVsOneHistoryRefresh();
            }
        }
        public void OnReceivePackage(HA352_tagMCMagicWeaponLVInfo package)
        {
            for (int i = 0; i < package.Count; i++)
@@ -128,14 +105,6 @@
        {
            public int division;
            public Dictionary<int, int> propertys;
        }
        public class CrossServerOneVsOneHistory
        {
            public int season;
            public int order;
            public int division;
            public int rewardLevel;
        }
    }
}
System/Treasure/KingTreasureWin.cs
@@ -43,6 +43,11 @@
        {
            get { return ModelCenter.Instance.GetModel<KingTreasureModel>(); }
        }
        CrossServerOneVsOneModel crossServerOneVsOneModel
        {
            get { return ModelCenter.Instance.GetModel<CrossServerOneVsOneModel>(); }
        }
        #region Built-in
        protected override void BindController()
        {
@@ -120,56 +125,58 @@
        void DisplayGot()
        {
            m_ContainerGot.gameObject.SetActive(true);
            //ingTreasureModel.TreasureStatus status;
            //ist<int> basePropertys = new List<int>();
            //ist<int> specialPropertys = new List<int>();
            //f (kingTreasureModel.TryGetStatus(model.selectedTreasure, out status))
            //{
            //    //--todo 显示段位等级
            //    KingTreasureModel.Division division;
            //    if (kingTreasureModel.TryGetDivision(model.selectedTreasure, status.division, out division))
            //    {
            //        if (division.propertys != null)
            //        {
            //            foreach (var key in division.propertys.Keys)
            //            {
            //                var config = Config.Instance.Get<PlayerPropertyConfig>(key);
            //                if (config.type == 2)
            //                {
            //                    specialPropertys.Add(key);
            //                }
            //                else
            //                {
            //                    basePropertys.Add(key);
            //                }
            //            }
            //        }
            //    }
            //    m_ContainerBaseProperty.gameObject.SetActive(basePropertys.Count > 0);
            //    m_ContainerSpecialProperty.gameObject.SetActive(specialPropertys.Count > 0);
            //    if (basePropertys.Count > 0)
            //    {
            //        for (int i = 0; i < m_BasePropertys.Length; i++)
            //        {
            //            m_BasePropertys[i].gameObject.SetActive(i < basePropertys.Count);
            //            if (i < basePropertys.Count)
            //            {
            //                m_BasePropertys[i].DisplayUpper(basePropertys[i], division.propertys[basePropertys[i]]);
            //            }
            //        }
            //    }
            //    if (specialPropertys.Count > 0)
            //    {
            //        for (int i = 0; i < m_SpecialPropertys.Length; i++)
            //        {
            //            m_SpecialPropertys[i].gameObject.SetActive(i < specialPropertys.Count);
            //            if (i < specialPropertys.Count)
            //            {
            //                m_BasePropertys[i].DisplayUpper(basePropertys[i], division.propertys[basePropertys[i]]);
            //            }
            //        }
            //    }
            //}
            CrossServerOneVsOneModel.CrossServerOneVsOneHistory history;
            List<int> basePropertys = new List<int>();
            List<int> specialPropertys = new List<int>();
            var session = 0;
            if (kingTreasureModel.TryGetSeason(model.selectedTreasure, out session)
                && crossServerOneVsOneModel.TryGetOneVsOneHistory(session, out history))
            {
                //--todo 显示段位等级
                KingTreasureModel.Division division;
                if (kingTreasureModel.TryGetDivision(model.selectedTreasure, history.division, out division))
                {
                    if (division.propertys != null)
                    {
                        foreach (var key in division.propertys.Keys)
                        {
                            var config = Config.Instance.Get<PlayerPropertyConfig>(key);
                            if (config.type == 2)
                            {
                                specialPropertys.Add(key);
                            }
                            else
                            {
                                basePropertys.Add(key);
                            }
                        }
                    }
                }
                m_ContainerBaseProperty.gameObject.SetActive(basePropertys.Count > 0);
                m_ContainerSpecialProperty.gameObject.SetActive(specialPropertys.Count > 0);
                if (basePropertys.Count > 0)
                {
                    for (int i = 0; i < m_BasePropertys.Length; i++)
                    {
                        m_BasePropertys[i].gameObject.SetActive(i < basePropertys.Count);
                        if (i < basePropertys.Count)
                        {
                            m_BasePropertys[i].DisplayUpper(basePropertys[i], division.propertys[basePropertys[i]]);
                        }
                    }
                }
                if (specialPropertys.Count > 0)
                {
                    for (int i = 0; i < m_SpecialPropertys.Length; i++)
                    {
                        m_SpecialPropertys[i].gameObject.SetActive(i < specialPropertys.Count);
                        if (i < specialPropertys.Count)
                        {
                            m_BasePropertys[i].DisplayUpper(basePropertys[i], division.propertys[basePropertys[i]]);
                        }
                    }
                }
            }
        }
        void DisplayEnd()