少年修仙传客户端代码仓库
client_Zxw
2018-12-22 405ff83ee594ca63361fbf5c02ba59f6a3a43894
5398 子 【开发】【1.4】跨服竞技场 / 【前端】【1.4】跨服竞技场开发
8个文件已添加
3个文件已修改
309 ■■■■■ 已修改文件
Core/NetworkPackage/ClientPack/ClientToGameServer/CC0_CrossRealm/CC001_tagCGViewCrossPKBillboard.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ClientPack/ClientToGameServer/CC0_CrossRealm/CC001_tagCGViewCrossPKBillboard.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ClientPack/ClientToGameServer/CC0_CrossRealm/CC002_tagCGViewCrossPlayerInfo.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ClientPack/ClientToGameServer/CC0_CrossRealm/CC002_tagCGViewCrossPlayerInfo.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HC0_CrossRealm/DTCC005_tagGCCrossRealmPKBillboardInfo.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HC0_CrossRealm/DTCC005_tagGCCrossRealmPKBillboardInfo.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HC0_CrossRealm/HC005_tagGCCrossRealmPKBillboardInfo.cs 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HC0_CrossRealm/HC005_tagGCCrossRealmPKBillboardInfo.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/CrossServerRewardModel.cs 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/RankCellCtrl.cs 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/RankingWin.cs 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ClientPack/ClientToGameServer/CC0_CrossRealm/CC001_tagCGViewCrossPKBillboard.cs
New file
@@ -0,0 +1,20 @@
using UnityEngine;
using System.Collections;
// C0 01 查看跨服竞技场赛季排行榜 #tagCGViewCrossPKBillboard
public class CC001_tagCGViewCrossPKBillboard : GameNetPackBasic {
    public byte ZoneID;    // 赛区ID
    public byte SeasonID;    // 赛季ID
    public CC001_tagCGViewCrossPKBillboard () {
        combineCmd = (ushort)0x1801;
        _cmd = (ushort)0xC001;
    }
    public override void WriteToBytes () {
        WriteBytes (ZoneID, NetDataType.BYTE);
        WriteBytes (SeasonID, NetDataType.BYTE);
    }
}
Core/NetworkPackage/ClientPack/ClientToGameServer/CC0_CrossRealm/CC001_tagCGViewCrossPKBillboard.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 61adcc2688515554d9bac55351d77dbd
timeCreated: 1545460252
licenseType: Free
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Core/NetworkPackage/ClientPack/ClientToGameServer/CC0_CrossRealm/CC002_tagCGViewCrossPlayerInfo.cs
New file
@@ -0,0 +1,18 @@
using UnityEngine;
using System.Collections;
// C0 02 查看跨服玩家信息 #tagCGViewCrossPlayerInfo
public class CC002_tagCGViewCrossPlayerInfo : GameNetPackBasic {
    public uint PlayerID;    // 跨服玩家ID
    public CC002_tagCGViewCrossPlayerInfo () {
        combineCmd = (ushort)0x1801;
        _cmd = (ushort)0xC002;
    }
    public override void WriteToBytes () {
        WriteBytes (PlayerID, NetDataType.DWORD);
    }
}
Core/NetworkPackage/ClientPack/ClientToGameServer/CC0_CrossRealm/CC002_tagCGViewCrossPlayerInfo.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 6f76fe869debd934989abb455cf25235
timeCreated: 1545460450
licenseType: Free
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Core/NetworkPackage/DTCFile/ServerPack/HC0_CrossRealm/DTCC005_tagGCCrossRealmPKBillboardInfo.cs
New file
@@ -0,0 +1,17 @@
using UnityEngine;
using System.Collections;
using Snxxz.UI;
// C0 05 跨服PK赛季排行榜 #tagGCCrossRealmPKBillboardInfo
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) {
        base.Done(vNetPack);
        HC005_tagGCCrossRealmPKBillboardInfo vNetData = vNetPack as HC005_tagGCCrossRealmPKBillboardInfo;         if (vNetData == null)
        {
            return;
        }
        crossServerRewardModel.CrossRealmPKBillboardInfo(vNetData);
    }
}
Core/NetworkPackage/DTCFile/ServerPack/HC0_CrossRealm/DTCC005_tagGCCrossRealmPKBillboardInfo.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: bc0f690f433c81a4b928d9436fa3dce0
timeCreated: 1545461267
licenseType: Free
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Core/NetworkPackage/ServerPack/HC0_CrossRealm/HC005_tagGCCrossRealmPKBillboardInfo.cs
New file
@@ -0,0 +1,45 @@
using UnityEngine;
using System.Collections;
// C0 05 跨服PK赛季排行榜 #tagGCCrossRealmPKBillboardInfo
public class HC005_tagGCCrossRealmPKBillboardInfo : GameNetPackBasic {
    public byte ZoneID;    // 赛区ID
    public byte SeasonID;    // 赛季ID
    public ushort Count;
    public  tagGCCrossRealmPKBillboardData[] PKBillboardList;
    public HC005_tagGCCrossRealmPKBillboardInfo () {
        _cmd = (ushort)0xC005;
    }
    public override void ReadFromBytes (byte[] vBytes) {
        TransBytes (out ZoneID, vBytes, NetDataType.BYTE);
        TransBytes (out SeasonID, vBytes, NetDataType.BYTE);
        TransBytes (out Count, vBytes, NetDataType.WORD);
        PKBillboardList = new tagGCCrossRealmPKBillboardData[Count];
        for (int i = 0; i < Count; i ++) {
            PKBillboardList[i] = new tagGCCrossRealmPKBillboardData();
            TransBytes (out PKBillboardList[i].PlayerID, vBytes, NetDataType.DWORD);
            TransBytes (out PKBillboardList[i].NameLen, vBytes, NetDataType.BYTE);
            TransBytes (out PKBillboardList[i].PlayerName, vBytes, NetDataType.Chars, PKBillboardList[i].NameLen);
            TransBytes (out PKBillboardList[i].Job, vBytes, NetDataType.BYTE);
            TransBytes (out PKBillboardList[i].FightPower, vBytes, NetDataType.DWORD);
            TransBytes (out PKBillboardList[i].RealmLV, vBytes, NetDataType.WORD);
            TransBytes (out PKBillboardList[i].PKScore, vBytes, NetDataType.DWORD);
            TransBytes (out PKBillboardList[i].DanLV, vBytes, NetDataType.BYTE);
        }
    }
    public struct tagGCCrossRealmPKBillboardData {
        public uint PlayerID;
        public byte NameLen;
        public string PlayerName;
        public byte Job;
        public uint FightPower;
        public ushort RealmLV;
        public uint PKScore;
        public byte DanLV;
    }
}
Core/NetworkPackage/ServerPack/HC0_CrossRealm/HC005_tagGCCrossRealmPKBillboardInfo.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: a9f1e99d3d1803748aea14f2bb5c04c6
timeCreated: 1545461266
licenseType: Free
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
System/CrossServerOneVsOne/CrossServerRewardModel.cs
@@ -27,11 +27,11 @@
    public int Rankin;//名次
    public int Realm;//境界
    public int PlayerID;//玩家ID
    public string ServerName;//服务器名
    public string PlayerName;//玩家名
    public int Job;//职业
    public int Power;//战力
    public int Segment;//段位
    public int Integral;//积分
    public int DanLv;//段位
    public int PkScore;//积分
}
public enum CrossRealmPKAwardStateEnum
{
@@ -47,11 +47,14 @@
    public ImpactRankModel.RankAwardItem SeasonRewardDic = new ImpactRankModel.RankAwardItem();
    public Dictionary<int, RankingInformationClass> RankInformationDic = new Dictionary<int, RankingInformationClass>();
    public Action CrossRealmPKAwardStateUpdate;//领取奖励刷新
    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; }
@@ -71,6 +74,8 @@
    public void OnBeforePlayerDataInitialize()
    {
        ZoneID = 0;
        SeasonID = 0;
        crossServerModel.UpdatePkResultEvent -= UpdatePkResultEvent;
    }
@@ -79,7 +84,7 @@
        crossServerModel.UpdatePkResultEvent += UpdatePkResultEvent;
    }
    public override void UnInit()
    {
@@ -205,6 +210,55 @@
        }
        return _bool;
    }
    public void ViewCrossPKBillboard(int ZoneID, int SeasonID)//(赛区,赛季) 查看跨服竞技场赛季排行榜
    {
        CC001_tagCGViewCrossPKBillboard c001 = new CC001_tagCGViewCrossPKBillboard();
        c001.ZoneID = (byte)ZoneID;
        c001.SeasonID = (byte)SeasonID;
        GameNetSystem.Instance.SendInfo(c001);
    }
    public void CrossRealmPKBillboardInfo(HC005_tagGCCrossRealmPKBillboardInfo info)//跨服PK赛季排行榜
    {
        ZoneID = info.ZoneID;
        SeasonID = info.SeasonID;
        if (info.Count > 0)
        {
            RankInformationDic.Clear();
            for (int i = 0; i < info.Count; i++)
            {
                if (!RankInformationDic.ContainsKey(i))
                {
                    RankingInformationClass RankingInformation = new RankingInformationClass();
                    RankingInformation.PlayerID = (int)info.PKBillboardList[i].PlayerID;
                    RankingInformation.PlayerName = info.PKBillboardList[i].PlayerName;
                    RankingInformation.Job = info.PKBillboardList[i].Job;
                    RankingInformation.Power = (int)info.PKBillboardList[i].FightPower;
                    RankingInformation.Realm = (int)info.PKBillboardList[i].RealmLV;
                    RankingInformation.DanLv = (int)info.PKBillboardList[i].DanLV;
                    RankingInformation.PkScore = (int)info.PKBillboardList[i].PKScore;
                    RankInformationDic.Add(i, RankingInformation);
                }
                else
                {
                    RankingInformationClass RankingInformation = new RankingInformationClass();
                    RankingInformation.PlayerID = (int)info.PKBillboardList[i].PlayerID;
                    RankingInformation.PlayerName = info.PKBillboardList[i].PlayerName;
                    RankingInformation.Job = info.PKBillboardList[i].Job;
                    RankingInformation.Power = (int)info.PKBillboardList[i].FightPower;
                    RankingInformation.Realm = (int)info.PKBillboardList[i].RealmLV;
                    RankingInformation.DanLv = (int)info.PKBillboardList[i].DanLV;
                    RankingInformation.PkScore = (int)info.PKBillboardList[i].PKScore;
                    RankInformationDic[i] = RankingInformation;
                }
            }
        }
        if (RankInformationUpdate != null)
        {
            RankInformationUpdate();
        }
    }
}
System/CrossServerOneVsOne/RankCellCtrl.cs
@@ -22,6 +22,7 @@
        [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>()); } }
        public override void Refresh(CellView cell)
@@ -50,6 +51,7 @@
                m_RankNum.text = (index + 1).ToString();
                m_RankNum.gameObject.SetActive(true);
            }
            m_RealmImage.gameObject.SetActive(false);
            RankingInformationClass data = null;
            if (crossServerRewardModel.RankInformationDic != null && index < crossServerRewardModel.RankInformationDic.Count)
            {
@@ -57,7 +59,21 @@
            }
            if (data != null)
            {
                m_RankButton.SetListener(()=>
                {
                    DebugEx.LogError(data.PlayerID);
                });
                m_NameTxt.text = data.PlayerName;
                m_JobTxt.text = OccupationNameConfig.GetOccupationName(data.Job, 0);
                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();
                Segment(data.DanLv);
                m_IntegralTxt.text = data.PkScore.ToString();
            }
            else
            {
@@ -74,8 +90,32 @@
                m_SegmentTxt.color = UIHelper.GetUIColor(TextColType.NavyBrown);
            }
        }
        private void  Segment(int Danlv)
        {
            var config = Config.Instance.Get<CrossServerArenaConfig>(Danlv);
            m_SegmentTxt.text = config.Name;
            if (Danlv >= 24)
            {
                m_SegmentTxt.color = new Color32(255, 3, 3, 255);
            }
            else if (Danlv < 24 && Danlv > 15)
            {
                m_SegmentTxt.color = new Color32(255, 103, 1, 255);
            }
            else if (Danlv < 15 && Danlv > 10)
            {
                m_SegmentTxt.color = new Color32(218, 72, 213, 255);
            }
            else
            {
                m_SegmentTxt.color = new Color32(104, 104, 104, 255);
            }
        }
    }
}
System/CrossServerOneVsOne/RankingWin.cs
@@ -18,6 +18,20 @@
    {
        [SerializeField] ScrollerController m_ScrollerController;
        [SerializeField] Button m_CloseButton;
        [SerializeField] Text m_TextMyRank;//我的排名
        [SerializeField] Text m_TextScores;//我的积分
        [SerializeField] GameObject m_DivisionObj;//赛区
        [SerializeField] Text m_DivisionNameText1;//赛区名
        [SerializeField] Button m_PullButton1;//拉选按钮
        [SerializeField] GameObject m_ClickScreenOtherSpace1;
        [SerializeField] ScrollerController m_ScrollerController1;
        [SerializeField] GameObject m_SeasonObj;//赛季
        [SerializeField] Text m_DivisionNameText2;//赛季名
        [SerializeField] Button m_PullButton2;//拉选按钮
        [SerializeField] GameObject m_ClickScreenOtherSpace2;
        [SerializeField] ScrollerController m_ScrollerController2;
        #region Built-in
        protected override void BindController()
        {
@@ -27,25 +41,45 @@
        protected override void AddListeners()
        {
            m_CloseButton.AddListener(()=> { Close(); });
            m_PullButton1.AddListener(OnClickPullButton1);
            m_PullButton2.AddListener(OnClickPullButton2);
        }
        protected override void OnPreOpen()
        {
            m_TextScores.text = CrossServerPlayerInfo.Instance.Score.ToString();
            SetTextMyRank();
            OnCreateGridLineCell(m_ScrollerController);
        }
        protected override void OnAfterOpen()
        {
            CrossServerPlayerInfo.Instance.UpdatePlayerInfoEvent += UpdatePlayerInfoEvent;
        }
        protected override void OnPreClose()
        {
        }
        {
            CrossServerPlayerInfo.Instance.UpdatePlayerInfoEvent -= UpdatePlayerInfoEvent;
        }
        protected override void OnAfterClose()
        {
        }
        #endregion
        private void OnClickPullButton1()
        {
            m_ClickScreenOtherSpace1.SetActive(true);
        }
        private void OnClickPullButton2()
        {
            m_ClickScreenOtherSpace1.SetActive(false);
        }
        private void UpdatePlayerInfoEvent()
        {
            m_TextScores.text = CrossServerPlayerInfo.Instance.Score.ToString();
            SetTextMyRank();
        }
        void OnCreateGridLineCell(ScrollerController gridCtrl)
        {
            gridCtrl.Refresh();
@@ -70,8 +104,21 @@
        }
        private void OnRefreshGridCell(ScrollerDataType type, CellView cell)
        {
            //DebugEx.LogError(type);
            //DebugEx.LogError(cell.index);
        }
        private void SetTextMyRank()
        {
            int danlv = CrossServerPlayerInfo.Instance.DanLV;
            var config= Config.Instance.Get<CrossServerArenaConfig>(danlv);
            if (config != null && danlv >= 6)
            {
                m_TextMyRank.text = config.Name;
            }
            else
            {
                m_TextMyRank.text = "未上榜";
            }
        }
    }