| System/CrossServerOneVsOne/CrossServerArenaWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/CrossServerOneVsOne/CrossServerModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/CrossServerOneVsOne/CrossServerPlayerInfo.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/CrossServerOneVsOne/CrossServerRewardModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/CrossServerOneVsOne/CrossSeverBuyMatchTimesWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/CrossServerOneVsOne/CrossSeverDayAwardCell.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
System/CrossServerOneVsOne/CrossServerArenaWin.cs
@@ -83,7 +83,7 @@ private void UpdateActivityState() { bool isInTime = false; bool isInTime = CrossServerPKSeason.Instance.InDay(TimeUtility.ServerNow); bool isOpen = false; matchBtn.RemoveAllListeners(); if(!isInTime) System/CrossServerOneVsOne/CrossServerModel.cs
@@ -13,6 +13,8 @@ { public string PkResultLocalSaveKey { get; private set; } public List<CrossServerPkResult> localSaveResults { get; private set; } CrossServerRewardModel rewardModel { get { return ModelCenter.Instance.GetModel<CrossServerRewardModel>(); } } public event Action UpdateDayAwardsEvent; public override void Init() { @@ -21,6 +23,8 @@ public void OnBeforePlayerDataInitialize() { rewardModel.CrossRealmPKAwardStateUpdate -= UpdateDayAwardState; CrossServerPlayerInfo.Instance.UpdatePlayerInfoEvent -= UpdateDayAwardState; InitData(); } @@ -33,7 +37,9 @@ public void OnPlayerLoginOk() { rewardModel.CrossRealmPKAwardStateUpdate += UpdateDayAwardState; CrossServerPlayerInfo.Instance.UpdatePlayerInfoEvent += UpdateDayAwardState; UpdateDayAwardState(); } public override void UnInit() @@ -45,6 +51,32 @@ { CrossServerPlayerInfo.Instance.InitData(); pkResultInfo = new CrossServerPkResult(); } public void UpdateDayAwardState() { var playerInfo = CrossServerPlayerInfo.Instance; for(int i = 0; i < dayAwardTypelist.Count; i++) { var dayAward = dayAwardTypelist[i]; int awardType = dayAward.type; switch(awardType) { case 1: dayAward.IsReceived = rewardModel.IsAwardState(CrossRealmPKAwardStateEnum.DayWinCountAwardState,dayAward.index); dayAward.SetCompletedNum(playerInfo.DayWinCount); break; case 2: dayAward.IsReceived = rewardModel.IsAwardState(CrossRealmPKAwardStateEnum.DayPKCountAwardState,dayAward.index); dayAward.SetCompletedNum(playerInfo.DayPKCount); break; } } if(UpdateDayAwardsEvent != null) { UpdateDayAwardsEvent(); } } public List<AwardType> sortDayAwardslist = new List<AwardType>(); @@ -80,11 +112,12 @@ var dayMatchAwardData = JsonMapper.ToObject(CrossRealmPKAward.Numerical1); var dayWinAwardData = JsonMapper.ToObject(CrossRealmPKAward.Numerical2); dayAwardTypelist = new List<AwardType>(); int dayWinIndex = 0; foreach (var num in dayWinAwardData.Keys) { int times = int.Parse(num); var items = dayWinAwardData[num]; var awardType = new AwardType(times,1); var awardType = new AwardType(times,1,dayWinIndex); dayAwardTypelist.Add(awardType); if (items.IsArray) { @@ -104,13 +137,16 @@ } } } dayWinIndex += 1; } int dayPkIndex = 0; foreach (var num in dayMatchAwardData.Keys) { int times = int.Parse(num); var items = dayMatchAwardData[num]; var awardType = new AwardType(times,2); var awardType = new AwardType(times,2,dayPkIndex); dayAwardTypelist.Add(awardType); if (items.IsArray) { @@ -130,6 +166,8 @@ } } } dayPkIndex += 1; } var CrossRealmPKMatchCount = Config.Instance.Get<FuncConfigConfig>("CrossRealmPKMatchCount"); @@ -144,15 +182,17 @@ public class AwardType { public int type { get; private set; } //1 胜利奖励 2 匹配奖励 public int index { get; private set; } public int num { get; private set;} public int curCompletedNum { get; private set; } public CompleteProgress progress { get; private set;} public bool IsReceived { get; set; } public List<AwardItem> awardItems = new List<AwardItem>(); public AwardType(int _num,int _type) public AwardType(int _num,int _type,int _index) { type = _type; num = _num; index = _index; curCompletedNum = 0; IsReceived = false; progress = CompleteProgress.Completed; @@ -224,10 +264,16 @@ match.Type = (byte)type; GameNetSystem.Instance.SendInfo(match); } public void SendBuyMatchCount() { CC102_tagCMCrossRealmPKBuy pKBuy = new CC102_tagCMCrossRealmPKBuy(); GameNetSystem.Instance.SendInfo(pKBuy); } #endregion #region 匹配记录 private void GetLocalSaveData() { localSaveResults = new List<CrossServerPkResult>(); System/CrossServerOneVsOne/CrossServerPlayerInfo.cs
@@ -20,9 +20,12 @@ public int DayPKCount { get; private set; } // 当日已PK次数 public int DayWinCount { get; private set;} //当日胜利次数 public int DayBuyCount { get; private set; } // 当日已购买次数 CrossServerModel crossServerModel { get { return ModelCenter.Instance.GetModel<CrossServerModel>(); } } public event Action UpdatePlayerInfoEvent; public void InitData() { @@ -33,6 +36,7 @@ CWinCount = 0; DayPKCount = 0; DayBuyCount = 0; DayWinCount = 0; } public void UpdatePlayerInfo(HC101_tagMCCrossRealmPKPlayerInfo playerInfo) @@ -44,6 +48,10 @@ this.CWinCount = playerInfo.CWinCount; this.DayPKCount = playerInfo.DayPKCount; this.DayBuyCount = playerInfo.DayBuyCount; if(UpdatePlayerInfoEvent != null) { UpdatePlayerInfoEvent(); } } public bool TryGetMaxRank(out int upScore) System/CrossServerOneVsOne/CrossServerRewardModel.cs
@@ -1,7 +1,7 @@ //-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Wednesday, December 12, 2018 //-------------------------------------------------------- //-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Wednesday, December 12, 2018 //-------------------------------------------------------- using System; using System.Collections.Generic; using TableConfig; @@ -147,7 +147,7 @@ } } private bool IsAwardState(CrossRealmPKAwardStateEnum _cross, int Index)//是否已领取奖励 public bool IsAwardState(CrossRealmPKAwardStateEnum _cross, int Index)//是否已领取奖励 { bool _bool = false; if (_cross == CrossRealmPKAwardStateEnum.SeasonAwardState) @@ -187,9 +187,9 @@ GameNetSystem.Instance.SendInfo(c103); } } } System/CrossServerOneVsOne/CrossSeverBuyMatchTimesWin.cs
@@ -75,14 +75,14 @@ { if (isOk) { crossServerModel.SendBuyMatchCount(); } }); return; } else { crossServerModel.SendBuyMatchCount(); } } else System/CrossServerOneVsOne/CrossSeverDayAwardCell.cs
@@ -25,13 +25,17 @@ CrossServerModel crossServerModel { get { return ModelCenter.Instance.GetModel<CrossServerModel>(); } } ItemTipsModel tipsModel { get { return ModelCenter.Instance.GetModel<ItemTipsModel>(); } } CrossServerRewardModel rewardModel { get { return ModelCenter.Instance.GetModel<CrossServerRewardModel>(); } } CrossServerModel.AwardType awardType; float height = 0; bool isLineMove = false; public override void Display(object _data) { base.Display(_data); isLineMove = false; recieveBtn.AddListener(ClickRecieve); crossServerModel.UpdateDayAwardsEvent += UpdateDayAwards; awardType = (CrossServerModel.AwardType)_data; DisplayDayAward(); } @@ -40,6 +44,7 @@ { base.Dispose(); recieveBtn.RemoveAllListeners(); crossServerModel.UpdateDayAwardsEvent -= UpdateDayAwards; } private void DisplayDayAward() @@ -74,7 +79,25 @@ { if (awardType == null) return; isLineMove = true; switch (awardType.type) { case 1: rewardModel.CrossRealmPKGetAward(CrossRealmPKAwardStateEnum.DayWinCountAwardState,awardType.num); break; case 2: rewardModel.CrossRealmPKGetAward(CrossRealmPKAwardStateEnum.DayPKCountAwardState, awardType.num); break; } } private void UpdateDayAwards() { if (!isLineMove) return; isLineMove = false; m_CrossServerCyclicScroll.ShowBegin(this); } } }