| | |
| | | {
|
| | | 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()
|
| | | {
|
| | |
| | |
|
| | | public void OnBeforePlayerDataInitialize()
|
| | | {
|
| | | rewardModel.CrossRealmPKAwardStateUpdate -= UpdateDayAwardState;
|
| | | CrossServerPlayerInfo.Instance.UpdatePlayerInfoEvent -= UpdateDayAwardState;
|
| | | InitData();
|
| | | }
|
| | |
|
| | |
| | |
|
| | | public void OnPlayerLoginOk()
|
| | | {
|
| | |
|
| | | rewardModel.CrossRealmPKAwardStateUpdate += UpdateDayAwardState;
|
| | | CrossServerPlayerInfo.Instance.UpdatePlayerInfoEvent += UpdateDayAwardState;
|
| | | UpdateDayAwardState();
|
| | | }
|
| | |
|
| | | public override void UnInit()
|
| | |
| | | {
|
| | | 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>();
|
| | |
| | | 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)
|
| | | {
|
| | |
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | 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)
|
| | | {
|
| | |
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | dayPkIndex += 1;
|
| | | }
|
| | |
|
| | | var CrossRealmPKMatchCount = Config.Instance.Get<FuncConfigConfig>("CrossRealmPKMatchCount");
|
| | |
| | | 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;
|
| | |
| | | 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>();
|