| Core/NetworkPackage/DTCFile/ServerPack/HC1_CrossRealm/DTCC103_tagMCCrossRealmPKPlayerHisSeasonInfo.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/CrossServerOneVsOne/CrossServerOneVsOneModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Treasure/KingTreasureModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Treasure/KingTreasureWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | 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()