少年修仙传客户端代码仓库
client_Wu Xijin
2018-12-21 bcb0514a75dd684e041e4f17081311cd086bafb6
Merge branch 'Cross_Server' of http://192.168.0.87:10010/r/snxxz_scripts into Cross_Server
8个文件已修改
145 ■■■■ 已修改文件
Core/NetworkPackage/ServerPack/HC1_CrossRealm/HC101_tagMCCrossRealmPKPlayerInfo.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/CrossServerModel.cs 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/CrossServerPlayerInfo.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/CrossServerRewardModel.cs 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/CrossServerRoundWin.cs 49 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/CrossServerSettlementWin.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/CrossSeverDayAwardCell.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dungeon/DungeonData.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HC1_CrossRealm/HC101_tagMCCrossRealmPKPlayerInfo.cs
@@ -10,6 +10,7 @@
    public ushort WinCount;    // 胜利次数
    public ushort CWinCount;    // 连胜次数
    public byte DayPKCount;    // 当日已PK次数
    public byte DayWinCount;    // 当日已胜利次数
    public byte DayBuyCount;    // 当日已购买次数
    public HC101_tagMCCrossRealmPKPlayerInfo () {
@@ -23,6 +24,7 @@
        TransBytes (out WinCount, vBytes, NetDataType.WORD);
        TransBytes (out CWinCount, vBytes, NetDataType.WORD);
        TransBytes (out DayPKCount, vBytes, NetDataType.BYTE);
        TransBytes (out DayWinCount, vBytes, NetDataType.BYTE);
        TransBytes (out DayBuyCount, vBytes, NetDataType.BYTE);
    }
System/CrossServerOneVsOne/CrossServerModel.cs
@@ -16,6 +16,8 @@
        CrossServerRewardModel rewardModel { get { return ModelCenter.Instance.GetModel<CrossServerRewardModel>(); } }
        public event Action UpdateDayAwardsEvent;
        public const int CrossServerDataMapId = 32010;
        DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
        public override void Init()
        {
            ParseFuncConfig();
@@ -23,6 +25,7 @@
        public void OnBeforePlayerDataInitialize()
        {
            dungeonModel.updateMissionEvent -= UpdateFBHelp;
            rewardModel.CrossRealmPKAwardStateUpdate -= UpdateDayAwardState;
            CrossServerPlayerInfo.Instance.UpdatePlayerInfoEvent -= UpdateDayAwardState;
            InitData();
@@ -39,6 +42,7 @@
        {
            rewardModel.CrossRealmPKAwardStateUpdate += UpdateDayAwardState;
            CrossServerPlayerInfo.Instance.UpdatePlayerInfoEvent += UpdateDayAwardState;
            dungeonModel.updateMissionEvent += UpdateFBHelp;
            UpdateDayAwardState();
        }
@@ -79,6 +83,26 @@
            }
        }
        private void UpdateFBHelp()
        {
           int dataMapId = dungeonModel.GetDataMapIdByMapId(PlayerDatas.Instance.baseData.MapID);
            if (dataMapId != CrossServerDataMapId) return;
            var mission = dungeonModel.mission;
            if(mission.prepareTime > 0)
            {
                if(!WindowCenter.Instance.IsOpen<CrossServerRoundWin>())
                {
                    WindowCenter.Instance.Open<CrossServerRoundWin>();
                }
            }
            if(mission.isStart == 1)
            {
            }
        }
        public List<AwardType> sortDayAwardslist = new List<AwardType>();
        public void SortDayAwardsList()
        {
System/CrossServerOneVsOne/CrossServerPlayerInfo.cs
@@ -49,6 +49,7 @@
            this.CWinCount = playerInfo.CWinCount;
            this.DayPKCount = playerInfo.DayPKCount;
            this.DayBuyCount = playerInfo.DayBuyCount;
            this.DayWinCount = playerInfo.DayWinCount;
            if(UpdatePlayerInfoEvent != null)
            {
                UpdatePlayerInfoEvent();
System/CrossServerOneVsOne/CrossServerRewardModel.cs
@@ -35,13 +35,14 @@
}
public enum CrossRealmPKAwardStateEnum
{
    DayPKCountAwardState=1,
    DayWinCountAwardState=2,
    DanLVAwardState=3,
    SeasonAwardState=4,
    DayPKCountAwardState = 1,
    DayWinCountAwardState = 2,
    DanLVAwardState = 3,
    SeasonAwardState = 4,
}
public class CrossServerRewardModel : Model, IBeforePlayerDataInitialize, IPlayerLoginOk
{
    CrossServerModel crossServerModel { get { return ModelCenter.Instance.GetModel<CrossServerModel>(); } }
    public Dictionary<int, SeasonAwardClass> SegmentRewardDic = new Dictionary<int, SeasonAwardClass>();
    public ImpactRankModel.RankAwardItem SeasonRewardDic = new ImpactRankModel.RankAwardItem();
    public Dictionary<int, RankingInformationClass> RankInformationDic = new Dictionary<int, RankingInformationClass>();
@@ -70,11 +71,12 @@
    public void OnBeforePlayerDataInitialize()
    {
        crossServerModel.UpdatePkResultEvent -= UpdatePkResultEvent;
    }
    public void OnPlayerLoginOk()
    {
        crossServerModel.UpdatePkResultEvent += UpdatePkResultEvent;
    }
   
@@ -83,7 +85,13 @@
    {
    }
    private void UpdatePkResultEvent()
    {
        if (IsCrossServer())//副本结算界面
        {
            WindowCenter.Instance.Open<CrossServerSettlementWin>();
        }
    }
    private void GetSeasonAward()
    {
        var config = Config.Instance.GetAllValues<CrossServerArenaConfig>();
@@ -131,9 +139,9 @@
        }
        SeasonRewardDic = _award;
    }
    public  void ResetTime()
    public void ResetTime()
    {
        Date_Time= TimeUtility.ServerNow;
        Date_Time = TimeUtility.ServerNow;
    }
    public void CrossRealmPKAwardState(HC102_tagMCCrossRealmPKAwardState info)//c102跨服PK玩家奖励记录
    {
@@ -176,7 +184,7 @@
                    break;
            }
        }
            return _bool;
        return _bool;
    }
    public void CrossRealmPKGetAward(CrossRealmPKAwardStateEnum _cross, int Index)//领奖发包
@@ -187,6 +195,16 @@
        GameNetSystem.Instance.SendInfo(c103);
    }
    public bool IsCrossServer()//是否再跨服副本中
    {
        bool _bool = false;
        int mapId = PlayerDatas.Instance.baseData.MapID;
        if (mapId == 32010 || mapId == 32011)
        {
            _bool = true;
        }
        return _bool;
    }
}
System/CrossServerOneVsOne/CrossServerRoundWin.cs
@@ -11,7 +11,8 @@
        [SerializeField] Text infoText;
        CrossServerModel crossServerModel { get { return ModelCenter.Instance.GetModel<CrossServerModel>(); } }
        DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
        int coolTime = 0;
        #region Built-in
        protected override void BindController()
        {
@@ -24,7 +25,8 @@
        protected override void OnPreOpen()
        {
            GlobalTimeEvent.Instance.secondEvent += UpdateCoolTime;
            SetDisplay();
        }
        protected override void OnAfterOpen()
        {
@@ -33,7 +35,7 @@
        protected override void OnPreClose()
        {
            GlobalTimeEvent.Instance.secondEvent -= UpdateCoolTime;
        }
        protected override void OnAfterClose()
        {
@@ -43,15 +45,40 @@
        private void SetDisplay()
        {
            int roundNum = 0;
            switch (roundNum)
            {
                case 1:
                    break;
                case 2:
                    break;
            }
            int roundNum = dungeonModel.mission.roundNum;
            coolTime = dungeonModel.mission.prepareTime / 1000;
            string roundStr = Language.Get(StringUtility.Contact("Num_CHS_", roundNum));
            roundText.text = Language.Get("CrossServer112", roundStr);
            resultText.text = IsWin() ? Language.Get("CrossServer113") : Language.Get("CrossServer114");
            UpdateCoolTime();
        }
        private void UpdateCoolTime()
        {
            infoText.text = Language.Get("CrossServer115",coolTime);
            coolTime -= 1;
            if(coolTime <= 0)
            {
                CloseImmediately();
                coolTime = 0;
            }
        }
        private bool IsWin()
        {
            int roundNum = dungeonModel.mission.roundNum;
            int[] winerIds = dungeonModel.mission.roundWinerIDList;
            if (winerIds == null) return false;
            int playerId = (int)PlayerDatas.Instance.baseData.PlayerID;
            int index = roundNum - 1;
            if(index < winerIds.Length)
            {
                if(playerId == winerIds[index])
                {
                    return true;
                }
            }
            return false;
        }
    }
}
System/CrossServerOneVsOne/CrossServerSettlementWin.cs
@@ -13,8 +13,13 @@
    public class CrossServerSettlementWin : Window
    {
        [SerializeField] GameObject m_BackFailure;
        [SerializeField] GameObject m_BackWin;
        [SerializeField] Transform m_ContainerResult;
        [SerializeField] Button m_DropOutBtn;
        [SerializeField] Text m_DropOutBtnText;
        #region Built-in
        CrossServerModel crossServerModel { get { return ModelCenter.Instance.GetModel<CrossServerModel>(); } }
        protected override void BindController()
        {
        }
@@ -25,6 +30,18 @@
        protected override void OnPreOpen()
        {
            int WinnerID = crossServerModel.pkResultInfo.WinnerID;
            int playerID =(int)PlayerDatas.Instance.baseData.PlayerID;
            if (WinnerID == playerID)
            {
                m_BackFailure.SetActive(false);
                m_BackWin.SetActive(true);
            }
            else
            {
                m_BackFailure.SetActive(true);
                m_BackWin.SetActive(false);
            }
        }
        protected override void OnAfterOpen()
System/CrossServerOneVsOne/CrossSeverDayAwardCell.cs
@@ -73,6 +73,16 @@
                    });
                }
            }
            switch(awardType.type)
            {
                case 1:
                    taskNameText.text = Language.Get("CrossServer116",awardType.curCompletedNum);
                    break;
                case 2:
                    taskNameText.text = Language.Get("CrossServer117", awardType.curCompletedNum);
                    break;
            }
        }
        private void ClickRecieve()
System/Dungeon/DungeonData.cs
@@ -115,6 +115,10 @@
        public int isHelp;
        public int helpCount;
        public int[] relation;
        public int roundNum;
        public int[] roundWinerIDList;
        public int prepareTime;
        public int isStart;
        public long totalExp
        {
            get