少年修仙传客户端代码仓库
Client_PangDeRong
2018-12-20 8f3bfa07c7d0ed894fce64c17fa7c5148a67b604
5398 子 【开发】【1.4】跨服竞技场 / 【前端】【1.4】跨服竞技场开发
6个文件已修改
117 ■■■■ 已修改文件
System/CrossServerOneVsOne/CrossServerArenaWin.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/CrossServerModel.cs 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/CrossServerPlayerInfo.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/CrossServerRewardModel.cs 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/CrossSeverBuyMatchTimesWin.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/CrossSeverDayAwardCell.cs 25 ●●●●● 补丁 | 查看 | 原始文档 | 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);
        }
    }
}