少年修仙传客户端代码仓库
client_Zxw
2018-12-24 8724011ce587d8c20e854e428d908910e8804908
5398 子 【开发】【1.4】跨服竞技场 / 【前端】【1.4】跨服竞技场开发
1个文件已删除
3个文件已修改
190 ■■■■■ 已修改文件
Lua/Gen/Resources.meta 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/CrossServerRewardModel.cs 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/CrossServerSettlementWin.cs 152 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/FightingPKWin.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/Gen/Resources.meta
File was deleted
System/CrossServerOneVsOne/CrossServerRewardModel.cs
@@ -29,12 +29,12 @@
    public override bool Equals(object obj)
    {
        var compare = (ZoneRankingStruct)obj;
        return this.ZoneID== compare.ZoneID && this.SeasonID == compare.SeasonID;
        return this.ZoneID == compare.ZoneID && this.SeasonID == compare.SeasonID;
    }
    public override int GetHashCode()
    {
        return (ZoneID*1000+ SeasonID).GetHashCode();
        return (ZoneID * 1000 + SeasonID).GetHashCode();
    }
}
public class RankingInformationClass//排名信息
@@ -93,6 +93,7 @@
    {
        ZoneID = 0;
        SeasonID = 0;
        PkDanLvNow = 0;
        crossServerModel.UpdatePkResultEvent -= UpdatePkResultEvent;
    }
@@ -239,7 +240,7 @@
    public void CrossRealmPKBillboardInfo(HC005_tagGCCrossRealmPKBillboardInfo info)//跨服PK赛季排行榜
    {
        ZoneID = info.ZoneID;
        SeasonID = info.SeasonID;
        SeasonID = info.SeasonID;
        if (info.Count > 0)
        {
            RankInformationDic.Clear();
@@ -287,6 +288,20 @@
            RankInformationUpdate();
        }
    }
    public static void ExitCrossRealm()//退出跨服副本
    {
        var match = new CC104_tagCMExitCrossRealm();
        GameNetSystem.Instance.SendToCrossServer(match);
    }
    private static int pkDanLvNow = 0;
    public static int PkDanLvNow//获取在跨服副本当前段位
    {
        get { return pkDanLvNow; }
        set { pkDanLvNow = value; }
    }
}
System/CrossServerOneVsOne/CrossServerSettlementWin.cs
@@ -6,6 +6,7 @@
using System;
using System.Collections;
using System.Collections.Generic;
using TableConfig;
using UnityEngine;
using UnityEngine.UI;
@@ -18,8 +19,31 @@
        [SerializeField] Button m_DropOutBtn;
        [SerializeField] Text m_DropOutBtnText;
        [SerializeField] Transform m_Normal;
        [SerializeField] Transform m_BrokenLine;
        [SerializeField] GameObject m_Normal;
        [SerializeField] GameObject m_RoundWinOne;
        [SerializeField] Text m_m_RoundWinOneTxt;
        [SerializeField] GameObject m_RoundWinTwo;
        [SerializeField] Text m_m_RoundWinTwo;
        [SerializeField] GameObject m_RoundWinThree;
        [SerializeField] Text m_m_RoundWinThree;
        [SerializeField] GameObject m_SessionObj;
        [SerializeField] Text m_SessionTxt;
        [SerializeField] GameObject m_SegmentObj;
        [SerializeField] Text m_SegmentTxt1;
        [SerializeField] Text m_SegmentTxt2;
        [SerializeField] Text m_SorceText;
        [SerializeField] GameObject m_BrokenLine;
        [SerializeField] Text m_BrokenLineText;
        [SerializeField] GameObject m_SessionObj1;
        [SerializeField] Text m_SessionTxt1;
        [SerializeField] GameObject m_SegmentObj1;
        [SerializeField] Text m_Segment_Txt1;
        [SerializeField] Text m_Segment_Txt2;
        [SerializeField] Text m_Sorce_Txt;
        #region Built-in
        CrossServerOneVsOneModel crossServerModel { get { return ModelCenter.Instance.GetModel<CrossServerOneVsOneModel>(); } }
        DungeonModel model { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
@@ -48,6 +72,19 @@
                m_BackFailure.SetActive(true);
                m_BackWin.SetActive(false);
            }
            if (crossServerModel.pkResultInfo.OverType == 0)
            {
                m_Normal.SetActive(true);
                m_BrokenLine.SetActive(false);
                SetNormal();
            }
            else
            {
                SetBrokenLine();
                m_Normal.SetActive(false);
                m_BrokenLine.SetActive(true);
            }
        }
        protected override void OnAfterOpen()
@@ -77,9 +114,118 @@
        #endregion
        private void ExitDungeon()
        {
            model.ExitCurrentDungeon();
            CrossServerRewardModel.ExitCrossRealm();
            CloseClick();
        }
        private void SetNormal()
        {
            m_RoundWinOne.SetActive(false);
            m_RoundWinTwo.SetActive(false);
            m_RoundWinThree.SetActive(false);
            m_SessionObj.SetActive(false);
            m_SegmentObj.SetActive(false);
            int PlayerId = (int)PlayerDatas.Instance.baseData.PlayerID;
            for (int i = 0; i < crossServerModel.pkResultInfo.RoundCount; i++)
            {
                int winID =(int)crossServerModel.pkResultInfo.RoundWinnerIDs[i];
                if (i == 0)
                {
                    m_RoundWinOne.SetActive(true);
                    if (winID == PlayerId)
                    {
                        m_m_RoundWinOneTxt.text = Language.Get("CrossServer113");
                        m_m_RoundWinOneTxt.color = new Color32(255,239,71,255);
                    }
                    else
                    {
                        m_m_RoundWinOneTxt.text = Language.Get("CrossServer114");
                        m_m_RoundWinOneTxt.color = new Color32(255, 244, 205, 255);
                    }
                }
                 else if (i == 1)
                {
                    m_RoundWinTwo.SetActive(true);
                    if (winID == PlayerId)
                    {
                        m_m_RoundWinTwo.text = Language.Get("CrossServer113");
                        m_m_RoundWinTwo.color = new Color32(255, 239, 71, 255);
                    }
                    else
                    {
                        m_m_RoundWinTwo.text = Language.Get("CrossServer114");
                        m_m_RoundWinTwo.color = new Color32(255, 244, 205, 255);
                    }
                }
                else if (i == 2)
                {
                    m_RoundWinThree.SetActive(true);
                    if (winID == PlayerId)
                    {
                        m_m_RoundWinThree.text = Language.Get("CrossServer113");
                        m_m_RoundWinThree.color = new Color32(255, 239, 71, 255);
                    }
                    else
                    {
                        m_m_RoundWinThree.text = Language.Get("CrossServer114");
                        m_m_RoundWinThree.color = new Color32(255, 244, 205, 255);
                    }
                }
            }
            if (crossServerModel.pkResultInfo.WinStreak > 1)
            {
                m_SessionObj.SetActive(true);
                m_SessionTxt.text = crossServerModel.pkResultInfo.WinStreak.ToString();
            }
            if (crossServerModel.pkResultInfo.DanLV != CrossServerRewardModel.PkDanLvNow)
            {
                var config1 = Config.Instance.Get<CrossServerArenaConfig>(CrossServerRewardModel.PkDanLvNow);
                m_SegmentObj.SetActive(true);
                m_SegmentTxt1.text = config1.Name;
                var config2 = Config.Instance.Get<CrossServerArenaConfig>(crossServerModel.pkResultInfo.DanLV);
                m_SegmentTxt2.text = config2.Name;
            }
            m_SorceText.text = crossServerModel.pkResultInfo.CurScore + "(" + crossServerModel.pkResultInfo.AddScore + ")";
        }
        private void SetBrokenLine()
        {
            int WinnerID = crossServerModel.pkResultInfo.WinnerID;
            int playerID = (int)PlayerDatas.Instance.baseData.PlayerID;
            if (WinnerID == playerID)
            {
                m_BrokenLineText.text = "对手离开战斗";
            }
            else
            {
                m_BrokenLineText.text = "重新连接超时";
            }
            if (crossServerModel.pkResultInfo.WinStreak > 1)
            {
                m_SessionObj1.SetActive(true);
                m_SessionTxt1.text = crossServerModel.pkResultInfo.WinStreak.ToString();
            }
            else
            {
                m_SessionObj1.SetActive(false);
            }
            if (crossServerModel.pkResultInfo.DanLV != CrossServerRewardModel.PkDanLvNow)
            {
                var config1 = Config.Instance.Get<CrossServerArenaConfig>(CrossServerRewardModel.PkDanLvNow);
                m_SegmentObj1.SetActive(true);
                m_Segment_Txt1.text = config1.Name;
                var config2 = Config.Instance.Get<CrossServerArenaConfig>(crossServerModel.pkResultInfo.DanLV);
                m_Segment_Txt2.text = config2.Name;
                m_SorceText.text = crossServerModel.pkResultInfo.CurScore + "(" + crossServerModel.pkResultInfo.AddScore + ")";
            }
            else
            {
                m_SegmentObj1.SetActive(false);
            }
            m_Sorce_Txt.text = crossServerModel.pkResultInfo.CurScore + "(" + crossServerModel.pkResultInfo.AddScore + ")";
        }
    }
}
System/CrossServerOneVsOne/FightingPKWin.cs
@@ -21,7 +21,6 @@
        [SerializeField] Text m_ScoreText2;
        [SerializeField] Text m_CountdownText;
        DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
        DateTime endTime;
        DateTime dungeonEndTime;
        #region Built-in
        protected override void BindController()
@@ -36,6 +35,7 @@
        protected override void OnPreOpen()
        {
            //-----------自己的信息
            CrossServerRewardModel.PkDanLvNow = CrossServerOneVsOnePlayerInfo.Instance.DanLV;
            m_RoleInformation1.SetHeroHead(CrossServerLogin.Instance.oneVsOnePlayerData.myJob, 0);
            string PlayerName = UIHelper.ServerStringTrim(CrossServerLogin.Instance.oneVsOnePlayerData.myName);
            m_RoleInformation1.SetHeroLvAndName((int)PlayerDatas.Instance.baseData.LV, PlayerName);
@@ -174,10 +174,12 @@
            int roundNum = dungeonModel.mission.roundNum;
            int myWin = 0;
            int playerID = (int)PlayerDatas.Instance.baseData.PlayerID;
            DebugEx.Log("玩家ID"+ playerID);
            if (dungeonModel.mission.roundWinerIDList != null)
            {
                for (int i = 0; i < dungeonModel.mission.roundWinerIDList.Length; i++)
                {
                    DebugEx.Log("玩家ID" + dungeonModel.mission.roundWinerIDList[i]+"回合数"+ i);
                    if (dungeonModel.mission.roundWinerIDList[i] == playerID)
                    {
                        myWin += 1;
@@ -187,7 +189,7 @@
            }
            
            m_ScoreText1.text = myWin.ToString();
            m_ScoreText2.text = (roundNum - myWin).ToString();
            m_ScoreText2.text = (roundNum - myWin-1).ToString();
        }
    }