少年修仙传客户端代码仓库
client_Zxw
2018-12-26 c0e70278042bc742a15ad4c90605e7007fc0521c
5398 子 【开发】【1.4】跨服竞技场 / 【前端】【1.4】跨服竞技场开发
2个文件已删除
5个文件已修改
281 ■■■■ 已修改文件
Core/NetworkPackage/DTCFile/ServerPack/HC0_CrossRealm/DTCC005_tagGCCrossRealmPKBillboardInfo.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/CrossServerRewardModel.cs 45 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/MatchWin.cs 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/MatchWin.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/RankCellCtrl.cs 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/RankingWin.cs 101 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/RoleParticulars/RoleParticularModel.cs 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HC0_CrossRealm/DTCC005_tagGCCrossRealmPKBillboardInfo.cs
@@ -4,9 +4,11 @@
// C0 05 跨服PK赛季排行榜 #tagGCCrossRealmPKBillboardInfo
public class DTCC005_tagGCCrossRealmPKBillboardInfo : DtcBasic {     CrossServerRewardModel m_CrossServerRewardModel;
public class DTCC005_tagGCCrossRealmPKBillboardInfo : DtcBasic
{     CrossServerRewardModel m_CrossServerRewardModel;
    CrossServerRewardModel crossServerRewardModel { get { return m_CrossServerRewardModel ?? (m_CrossServerRewardModel = ModelCenter.Instance.GetModel<CrossServerRewardModel>()); } }
    public override void Done(GameNetPackBasic vNetPack) {
    public override void Done(GameNetPackBasic vNetPack)
    {
        base.Done(vNetPack);
        HC005_tagGCCrossRealmPKBillboardInfo vNetData = vNetPack as HC005_tagGCCrossRealmPKBillboardInfo;         if (vNetData == null)
        {
System/CrossServerOneVsOne/CrossServerRewardModel.cs
@@ -61,28 +61,17 @@
    public Dictionary<int, SeasonAwardClass> SegmentRewardDic = new Dictionary<int, SeasonAwardClass>();
    public ImpactRankModel.RankAwardItem SeasonRewardDic = new ImpactRankModel.RankAwardItem();
    //Dictionary<int,>
    Dictionary<ZoneRankingStruct, Dictionary<int, RankingInformationClass>> ZoneRankingDic = new Dictionary<ZoneRankingStruct, Dictionary<int, RankingInformationClass>>();
    public Dictionary<int, RankingInformationClass> RankInformationDic = new Dictionary<int, RankingInformationClass>();
    public  Dictionary<ZoneRankingStruct, Dictionary<int, RankingInformationClass>> ZoneRankingDic = new Dictionary<ZoneRankingStruct, Dictionary<int, RankingInformationClass>>();
    private Dictionary<int, RankingInformationClass> RankInformationDic = new Dictionary<int, RankingInformationClass>();
    public Action CrossRealmPKAwardStateUpdate;//领取奖励刷新
    public Action RankInformationUpdate;//排行奖励刷新
    public Action RankInformationUpdate;//排行榜刷新
    private uint DayPKCountAwardState; //每日匹配次数奖励记录
    private uint DayWinCountAwardState; // 每日胜利次数奖励记录
    private uint DanLVAwardState; // 段位达标奖励记录
    private int SeasonAwardState; // 赛季结算奖励是否已领取
    private bool m_IsOpenMatch;
    public int ZoneID = 0;//赛区ID
    public int SeasonID = 0;//赛季ID
    public bool IsOpenMatch
    {
        get { return m_IsOpenMatch; }
        set { m_IsOpenMatch = value; }
    }
    DateTime m_DateTime = DateTime.Now;
    public DateTime Date_Time
    {
        get { return m_DateTime; }
        set { m_DateTime = value; }
    }
    public int MyRank = 0;//我的排名
    public override void Init()
    {
        GetSeasonAward();
@@ -162,10 +151,6 @@
        }
        SeasonRewardDic = _award;
    }
    public void ResetTime()
    {
        Date_Time = TimeUtility.ServerNow;
    }
    public void CrossRealmPKAwardState(HC102_tagMCCrossRealmPKAwardState info)//c102跨服PK玩家奖励记录
    {
        DayPKCountAwardState = info.DayPKCountAwardState;
@@ -226,6 +211,18 @@
    public void ViewCrossPKBillboard(int ZoneID, int SeasonID)//(赛区,赛季) 查看跨服竞技场赛季排行榜 
    {
        ZoneRankingStruct zoneRanking = new ZoneRankingStruct();
        zoneRanking.ZoneID = ZoneID;
        zoneRanking.SeasonID = SeasonID;
        int seasonIDNow = CrossServerOneVsOnePKSeason.Instance.SeasonID;
        if (ZoneRankingDic.ContainsKey(zoneRanking) && seasonIDNow > SeasonID)
        {
            if (RankInformationUpdate != null)
            {
                RankInformationUpdate();
            }
            return;
        }
        CC001_tagCGViewCrossPKBillboard c001 = new CC001_tagCGViewCrossPKBillboard();
        c001.ZoneID = (byte)ZoneID;
        c001.SeasonID = (byte)SeasonID;
@@ -234,11 +231,9 @@
    public void CrossRealmPKBillboardInfo(HC005_tagGCCrossRealmPKBillboardInfo info)//跨服PK赛季排行榜
    {
        ZoneID = info.ZoneID;
        SeasonID = info.SeasonID;
        RankInformationDic.Clear();
        if (info.Count > 0)
        {
            RankInformationDic.Clear();
        {
            for (int i = 0; i < info.Count; i++)
            {
                if (!RankInformationDic.ContainsKey(i))
@@ -252,6 +247,10 @@
                    RankingInformation.DanLv = (int)info.PKBillboardList[i].DanLV;
                    RankingInformation.PkScore = (int)info.PKBillboardList[i].PKScore;
                    RankInformationDic.Add(i, RankingInformation);
                    if (PlayerDatas.Instance.baseData.PlayerID == info.PKBillboardList[i].PlayerID)
                    {
                        MyRank = i;
                    }
                }
                else
                {
System/CrossServerOneVsOne/MatchWin.cs
File was deleted
System/CrossServerOneVsOne/MatchWin.cs.meta
File was deleted
System/CrossServerOneVsOne/RankCellCtrl.cs
@@ -19,12 +19,13 @@
        [SerializeField] Image m_RankNumBottom;
        [SerializeField] Text m_NameTxt;
        [SerializeField] Text m_JobTxt;
        [SerializeField] Text m_RankWhatTxt;
       // [SerializeField] Text m_RankWhatTxt;
        [SerializeField] Text m_SegmentTxt;
        [SerializeField] Text m_IntegralTxt;
        [SerializeField] Image m_RealmImage;
        CrossServerRewardModel m_CrossServerRewardModel;
        CrossServerRewardModel crossServerRewardModel { get { return m_CrossServerRewardModel ?? (m_CrossServerRewardModel = ModelCenter.Instance.GetModel<CrossServerRewardModel>()); } }
        RoleParticularModel roleParticularModel { get { return ModelCenter.Instance.GetModel<RoleParticularModel>(); } }
        public override void Refresh(CellView cell)
        {
            int index = cell.index;
@@ -53,25 +54,34 @@
            }
            m_RealmImage.gameObject.SetActive(false);
            RankingInformationClass data = null;
            if (crossServerRewardModel.RankInformationDic != null && index < crossServerRewardModel.RankInformationDic.Count)
            ZoneRankingStruct zoneRanking = new ZoneRankingStruct();
            zoneRanking.ZoneID= crossServerRewardModel.ZoneID;
            zoneRanking.SeasonID = crossServerRewardModel.SeasonID;
            Dictionary<int, RankingInformationClass> rankDic = new Dictionary<int, RankingInformationClass>();
            if (crossServerRewardModel.ZoneRankingDic.ContainsKey(zoneRanking))
            {
                data = crossServerRewardModel.RankInformationDic[index];
                rankDic = crossServerRewardModel.ZoneRankingDic[zoneRanking];
            }
            if (rankDic != null && index < rankDic.Count)
            {
                data = rankDic[index];
            }
            if (data != null)
            {
                m_RankButton.SetListener(()=> 
                {
                    DebugEx.LogError(data.PlayerID);
                    //DebugEx.LogError(data.PlayerID);
                    roleParticularModel.ViewFairyCrossServerOneVsOne(data.PlayerID);
                });
                m_NameTxt.text = data.PlayerName;
                m_JobTxt.text = OccupationNameConfig.GetOccupationName(data.Job, 0);
                m_JobTxt.text = OccupationNameConfig.GetOccupationName(data.Job, 1);
                RealmConfig presentCfg = Config.Instance.Get<RealmConfig>(data.Realm);
                if (presentCfg != null)
                {
                    m_RealmImage.gameObject.SetActive(true);
                    m_RealmImage.SetSprite(presentCfg.Img);
                }
                m_RankWhatTxt.text = data.Power.ToString();
              //  m_RankWhatTxt.text = data.Power.ToString();
                Segment(data.DanLv);
                m_IntegralTxt.text = data.PkScore.ToString();
            }
@@ -79,13 +89,13 @@
            {
                m_NameTxt.text = Language.Get("L1046");
                m_JobTxt.text = "-";
                m_RankWhatTxt.text = "-";
              //  m_RankWhatTxt.text = "-";
                m_SegmentTxt.text= "-";
                m_IntegralTxt.text= "-";
                m_NameTxt.color = UIHelper.GetUIColor(TextColType.NavyBrown);
                m_JobTxt.color = UIHelper.GetUIColor(TextColType.NavyBrown);
                m_RankWhatTxt.color = UIHelper.GetUIColor(TextColType.NavyBrown);
               // m_RankWhatTxt.color = UIHelper.GetUIColor(TextColType.NavyBrown);
                m_SegmentTxt.color = UIHelper.GetUIColor(TextColType.NavyBrown);
                m_SegmentTxt.color = UIHelper.GetUIColor(TextColType.NavyBrown);
            }
System/CrossServerOneVsOne/RankingWin.cs
@@ -11,7 +11,8 @@
using TableConfig;
using EnhancedUI.EnhancedScroller;
namespace Snxxz.UI {
namespace Snxxz.UI
{
    //积分排名
    [XLua.Hotfix]
    public class RankingWin : Window
@@ -20,6 +21,7 @@
        [SerializeField] Button m_CloseButton;
        [SerializeField] Text m_TextMyRank;//我的排名
        [SerializeField] Text m_TextScores;//我的积分
        [SerializeField] Text m_NumberText;//赛季
        [SerializeField] GameObject m_DivisionObj;//赛区
        [SerializeField] Text m_DivisionNameText1;//赛区名
@@ -38,23 +40,34 @@
        protected override void BindController()
        {
            m_ScrollerController.OnRefreshCell += OnRefreshGridCell;
            m_ScrollerController1.OnRefreshCell += OnRefreshGridCell_Z;//赛区
            m_ScrollerController2.OnRefreshCell += OnRefreshGridCell_S;//赛区
        }
        protected override void AddListeners()
        {
            m_CloseButton.AddListener(()=> { Close(); });
            m_CloseButton.AddListener(() => { Close(); });
            m_PullButton1.AddListener(OnClickPullButton1);
            m_PullButton2.AddListener(OnClickPullButton2);
        }
        protected override void OnPreOpen()
        {
            SetZoneIDAndSeasonID();
            ZoneAndSeasonpanel();
            m_NumberText.text = CrossServerOneVsOnePKSeason.Instance.SeasonID.ToString();
            m_TextScores.text = CrossServerOneVsOnePlayerInfo.Instance.Score.ToString();
            SetTextMyRank();
            SetZoneAndSeasonNum();
            OnCreateGridLineCell(m_ScrollerController);
            OnCreateGridLineCell_Z(m_ScrollerController1);
            OnCreateGridLineCell_S(m_ScrollerController2);
            m_ScrollerController.JumpIndex(0);
        }
        protected override void OnActived()
        {
            crossServerRewardModel.ViewCrossPKBillboard(crossServerRewardModel.ZoneID, crossServerRewardModel.SeasonID);//关于赛季查询
        }
        protected override void OnAfterOpen()
        {
            CrossServerOneVsOnePlayerInfo.Instance.UpdatePlayerInfoEvent += UpdatePlayerInfoEvent;
@@ -67,7 +80,7 @@
            crossServerRewardModel.RankInformationUpdate -= RankInformationUpdate;
        }
        protected override void OnAfterClose()
        {
@@ -75,16 +88,18 @@
        #endregion
        private void RankInformationUpdate()
        {
            m_ScrollerController.m_Scorller.RefreshActiveCellViews();//刷新可见
            SetZoneAndSeasonNum();
            OnCreateGridLineCell(m_ScrollerController);
            m_ScrollerController.JumpIndex(0);
        }
        private void OnClickPullButton1()
        {
            m_ClickScreenOtherSpace1.SetActive(true);
            m_ClickScreenOtherSpace1.SetActive(!m_ClickScreenOtherSpace1.activeSelf);
        }
        private void OnClickPullButton2()
        {
            m_ClickScreenOtherSpace1.SetActive(false);
            m_ClickScreenOtherSpace2.SetActive(!m_ClickScreenOtherSpace2.activeSelf);
        }
        private void UpdatePlayerInfoEvent()
        {
@@ -109,19 +124,63 @@
                {
                    gridCtrl.AddCell(ScrollerDataType.Normal, i);
                }
            }
            gridCtrl.Restart();
        }
        void OnCreateGridLineCell_Z(ScrollerController gridCtrl)//赛区
        {
            gridCtrl.Refresh();
            for (int i = 1; i <= CrossServerOneVsOnePKSeason.Instance.ZoneCount; i++)
            {
                gridCtrl.AddCell(ScrollerDataType.Header, i);
            }
            gridCtrl.Restart();
        }
        void OnCreateGridLineCell_S(ScrollerController gridCtrl)//赛季
        {
            gridCtrl.Refresh();
            for (int i = 1; i <= CrossServerOneVsOnePKSeason.Instance.SeasonID; i++)
            {
                gridCtrl.AddCell(ScrollerDataType.Header, i);
            }
            gridCtrl.Restart();
        }
        private void OnRefreshGridCell(ScrollerDataType type, CellView cell)
        {
        }
        private void OnRefreshGridCell_Z(ScrollerDataType type, CellView cell)//赛区
        {
            int Index = cell.index;
            Button Btn = cell.GetComponent<Button>();
            Text txt = cell.transform.Find("Text").GetComponent<Text>();
            txt.text = "赛区" + Index;
            Btn.SetListener(() =>
            {
                crossServerRewardModel.ZoneID = Index;
                m_ClickScreenOtherSpace1.SetActive(false);
                crossServerRewardModel.ViewCrossPKBillboard(crossServerRewardModel.ZoneID, crossServerRewardModel.SeasonID);//关于赛季查询
            });
        }
        private void OnRefreshGridCell_S(ScrollerDataType type, CellView cell)//赛季
        {
            int Index = cell.index;
            Button Btn = cell.GetComponent<Button>();
            Text txt = cell.transform.Find("Text").GetComponent<Text>();
            txt.text = "赛季" + Index;
            Btn.SetListener(() =>
            {
                crossServerRewardModel.SeasonID = Index;
                m_ClickScreenOtherSpace2.SetActive(false);
                crossServerRewardModel.ViewCrossPKBillboard(crossServerRewardModel.ZoneID, crossServerRewardModel.SeasonID);//关于赛季查询
            });
        }
        private void SetTextMyRank()
        {
            int danlv = CrossServerOneVsOnePlayerInfo.Instance.DanLV;
            var config= Config.Instance.Get<CrossServerArenaConfig>(danlv);
            var config = Config.Instance.Get<CrossServerArenaConfig>(danlv);
            if (config != null && danlv >= 6)
            {
                m_TextMyRank.text = config.Name;
@@ -134,8 +193,20 @@
        private void SetZoneAndSeasonNum()
        {
            m_DivisionNameText1.text = crossServerRewardModel.ZoneID.ToString();
            m_DivisionNameText2.text = crossServerRewardModel.SeasonID.ToString();
            m_DivisionNameText1.text = "赛区"+crossServerRewardModel.ZoneID.ToString();
            m_DivisionNameText2.text = "赛季"+crossServerRewardModel.SeasonID.ToString();
        }
        private void SetZoneIDAndSeasonID()//设置赛区和ID
        {
            if (crossServerRewardModel.ZoneID == 0)
            {
                crossServerRewardModel.ZoneID = CrossServerOneVsOnePKSeason.Instance.ZoneID;
            }
            if (crossServerRewardModel.SeasonID == 0)
            {
                crossServerRewardModel.SeasonID = CrossServerOneVsOnePKSeason.Instance.SeasonID;
            }
        }
        private void ZoneAndSeasonpanel()
@@ -152,7 +223,7 @@
            {
                m_DivisionObj.gameObject.SetActive(false);
            }
            if (CrossServerOneVsOnePKSeason.Instance.SeasonID > 1)//赛区
            if (CrossServerOneVsOnePKSeason.Instance.SeasonID > 1)//赛季
            {
                m_SeasonObj.gameObject.SetActive(true);
                if (m_ClickScreenOtherSpace2.activeSelf)
System/RoleParticulars/RoleParticularModel.cs
@@ -73,6 +73,12 @@
            ViewRoleParticulars(_playerId);
        }
        public void ViewFairyCrossServerOneVsOne(int _playerId)
        {
            viewPlayerType = 4;
            ViewRoleParticulars(_playerId);
        }
        private void ViewRoleParticulars(int playerID)
        {
            if (viewPlayerType != 2)
@@ -96,9 +102,19 @@
                    return;
                }
            }
            CA212_tagCMViewPlayerInfo pak = new CA212_tagCMViewPlayerInfo();
            pak.PlayerID = (uint)playerID;
            GameNetSystem.Instance.SendInfo(pak);
            switch (viewPlayerType)
            {
                case 4:
                    CC002_tagCGViewCrossPlayerInfo c002 = new CC002_tagCGViewCrossPlayerInfo();
                    c002.PlayerID = (uint)playerID;
                    GameNetSystem.Instance.SendInfo(c002);
                    break;
                default:
                    CA212_tagCMViewPlayerInfo pak = new CA212_tagCMViewPlayerInfo();
                    pak.PlayerID = (uint)playerID;
                    GameNetSystem.Instance.SendInfo(pak);
                    break;
            }
        }
        public void OnRevRoleEquip(HA705_tagSCQueryPlayerCacheResult package)
@@ -597,6 +613,7 @@
            switch (viewPlayerType)
            {
                case 0:
                case 4:
                    if (!WindowCenter.Instance.IsOpen<RoleParticularsWin>())
                    {
                        WindowCenter.Instance.Open<RoleParticularsWin>();