From 21bf9f76f0c9351450150551007038e2d35f93ea Mon Sep 17 00:00:00 2001
From: Client_PangDeRong <593317293@qq.com>
Date: 星期四, 20 十二月 2018 11:57:14 +0800
Subject: [PATCH] 5398 子 【开发】【1.4】跨服竞技场 / 【前端】【1.4】跨服竞技场开发

---
 System/CrossServerOneVsOne/CrossServerModel.cs |  122 +++-------------------------------------
 1 files changed, 9 insertions(+), 113 deletions(-)

diff --git a/System/CrossServerOneVsOne/CrossServerModel.cs b/System/CrossServerOneVsOne/CrossServerModel.cs
index 491cca5..3066f44 100644
--- a/System/CrossServerOneVsOne/CrossServerModel.cs
+++ b/System/CrossServerOneVsOne/CrossServerModel.cs
@@ -12,7 +12,7 @@
     public class CrossServerModel : Model, IBeforePlayerDataInitialize, IAfterPlayerDataInitialize, IPlayerLoginOk
     {
         public string PkResultLocalSaveKey { get; private set; }
-        public List<PkResultInfo> localSaveResults { get; private set; }
+        public List<CrossServerPkResult> localSaveResults { get; private set; }
 
         public override void Init()
         {
@@ -43,41 +43,8 @@
 
         private void InitData()
         {
-            curWinRate = 0;
-            sumBattleNum = 0;
-            dayMatchNum = 0;
-            alreadyBuyNum = 0;
-            pkResultInfo = new PkResultInfo();
-        }
-
-        public bool TryGetMaxRank(out int upScore)
-        {
-            upScore = 0;
-            if (pkResultInfo == null) return false;
-            var arenaConfig = Config.Instance.Get<CrossServerArenaConfig>(pkResultInfo.DanLV);
-            if(arenaConfig != null)
-            {
-                upScore = arenaConfig.LVUpScore;
-            }
-            return upScore == 0;
-        }
-
-        public int GetBuyMatchNumPrice()
-        {
-            Equation.Instance.Clear();
-            Equation.Instance.AddKeyValue("buyCnt",alreadyBuyNum);
-            return Equation.Instance.Eval<int>(priceFormula);
-        }
-
-        public bool TryGetWinStreakScore(out int score)
-        {
-            score = 0;
-            if (pkResultInfo.WinStreak < 2) return false;
-
-            Equation.Instance.Clear();
-            Equation.Instance.AddKeyValue("cWinCount",pkResultInfo.WinStreak);
-            score = Equation.Instance.Eval<int>(winStreakScoreFormula);
-            return true;
+            CrossServerPlayerInfo.Instance.InitData();
+            pkResultInfo = new CrossServerPkResult();
         }
 
         public List<AwardType> sortDayAwardslist = new List<AwardType>();
@@ -234,88 +201,17 @@
         #endregion
 
         #region 鍗忚
-        public int curWinRate { get; private set; } //褰撳墠鑳滅巼
-        public int sumBattleNum { get; private set; } //瀵规垬鎬诲満鏁�
-        public int dayMatchNum { get; private set; } //浠婃棩鍖归厤娆℃暟
-        public int alreadyBuyNum { get; private set;} //浠婃棩璐拱鍖归厤娆℃暟
-        public PkResultInfo pkResultInfo { get; private set;}
+        public CrossServerPkResult pkResultInfo { get; private set;}
         public event Action UpdatePkResultEvent;
         public void UpdatePKResultInfo(HC003_tagGCCrossRealmPKOverInfo pKOverInfo)
         {
-            pkResultInfo = new PkResultInfo();
-            pkResultInfo.PkEndTime = pKOverInfo.TimeStr;
-            pkResultInfo.OverType = pKOverInfo.OverType;
-            pkResultInfo.WinnerID = (int)pKOverInfo.WinnerID;
-            pkResultInfo.RoundCount = pKOverInfo.RoundCount;
-            pkResultInfo.RoundWinnerIDs = pKOverInfo.RoundWinnerID;
-            pkResultInfo.AddScore = pKOverInfo.AddScore;
-            pkResultInfo.CurScore = pKOverInfo.Score;
-            pkResultInfo.DanLV = pKOverInfo.DanLV;
-            pkResultInfo.WinStreak = pKOverInfo.CWinCnt;
-            pkResultInfo.VsPlayerName = pKOverInfo.TagName;
+            pkResultInfo = new CrossServerPkResult();
+            pkResultInfo.UpdatePkResult(pKOverInfo);
             SetPkInfoLocalSave(pkResultInfo);
             if(UpdatePkResultEvent != null)
             {
                 UpdatePkResultEvent();
             }
-        }
-
-        public class PkResultInfo
-        {
-            public string PkEndTime;    // 缁撶畻鏃堕棿锛屾牸寮� yyyy-MM-dd HH:mm:ss
-
-            public int OverType;    // 0-姝e父锛�1-鏈変汉绂荤嚎
-
-            public int WinnerID;    // 鑳滄柟ID(鏈鎴樻枟缁撴潫锛屼笉鏄洖鍚堢粨鏉�)
-
-            public int RoundCount;    // PK鍥炲悎鏁�
-
-            public uint[] RoundWinnerIDs;    // 鍥炲悎鑾疯儨ID鍒楄〃
-
-            public int AddScore;    // 鏈満鍔犲垎
-
-            public int CurScore;    // 褰撳墠绉垎
-
-            public int DanLV;    // 褰撳墠娈典綅
-
-            public int WinStreak;    // 褰撳墠杩炶儨鏁�
-
-            public string VsPlayerName; //瀵规墜鍚嶅瓧
-        }
-
-        public void GetWinAndFailNum(out int winNum,out int failNum)
-        {
-            winNum = 0;
-            failNum = 0;
-            int playerId = (int)PlayerDatas.Instance.baseData.PlayerID;
-            for(int i = 0; i < pkResultInfo.RoundCount; i++)
-            {
-                var winnerId = pkResultInfo.RoundWinnerIDs[i];
-                if(winnerId == playerId)
-                {
-                    winNum += 1;
-                }
-                else
-                {
-                    failNum += 1;
-                }
-            }
-        }
-
-        /// <summary>
-        /// 1 鑷繁绂荤嚎 2 瀵规墜绂荤嚎
-        /// </summary>
-        /// <param name="type"></param>
-        /// <returns></returns>
-        public bool TryGetOffLine(out int type)
-        {
-            type = 0;
-            int playerId = (int)PlayerDatas.Instance.baseData.PlayerID;
-            if(pkResultInfo.OverType != 0)
-            {
-                type = playerId == pkResultInfo.WinnerID ? 2 : 1;
-            }
-            return pkResultInfo.OverType != 0;
         }
 
         /// <summary>
@@ -334,19 +230,19 @@
     
         private void GetLocalSaveData()
         {
-            localSaveResults = new List<PkResultInfo>();
+            localSaveResults = new List<CrossServerPkResult>();
             string[] localJsons = LocalSave.GeStringArray(PkResultLocalSaveKey);
             if(localJsons != null)
             {
                 for(int i = 0; i < localJsons.Length; i++)
                 {
-                    PkResultInfo resultInfo = JsonMapper.ToObject<PkResultInfo>(localJsons[i]);
+                    CrossServerPkResult resultInfo = JsonMapper.ToObject<CrossServerPkResult>(localJsons[i]);
                     localSaveResults.Add(resultInfo);
                 }
             }
         }
 
-        public void SetPkInfoLocalSave(PkResultInfo resultInfo)
+        public void SetPkInfoLocalSave(CrossServerPkResult resultInfo)
         {
             if (localSaveResults.Count >= 30)
             {

--
Gitblit v1.8.0