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