From f48909e1d7d0956abb833a315a56d6f1242f2a93 Mon Sep 17 00:00:00 2001
From: Client_PangDeRong <593317293@qq.com>
Date: 星期三, 19 十二月 2018 10:33:37 +0800
Subject: [PATCH] 5398 【前端】【1.4】跨服竞技场开发
---
System/CrossServerOneVsOne/CrossServerModel.cs | 101 +++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 87 insertions(+), 14 deletions(-)
diff --git a/System/CrossServerOneVsOne/CrossServerModel.cs b/System/CrossServerOneVsOne/CrossServerModel.cs
index 56d4881..5121c14 100644
--- a/System/CrossServerOneVsOne/CrossServerModel.cs
+++ b/System/CrossServerOneVsOne/CrossServerModel.cs
@@ -18,7 +18,7 @@
public void OnBeforePlayerDataInitialize()
{
- ResetData();
+ InitData();
}
public void OnAfterPlayerDataInitialize()
@@ -36,10 +36,24 @@
}
+ private void InitData()
+ {
+ curWinRate = 0;
+ sumBattleNum = 0;
+ dayMatchNum = 0;
+ alreadyBuyNum = 0;
+ pkResultInfo = new PkResultInfo();
+ }
+
public bool TryGetMaxRank(out int upScore)
{
- var arenaConfig = Config.Instance.Get<CrossServerArenaConfig>(curRank);
- upScore = arenaConfig.LVUpScore;
+ upScore = 0;
+ if (pkResultInfo == null) return false;
+ var arenaConfig = Config.Instance.Get<CrossServerArenaConfig>(pkResultInfo.DanLV);
+ if(arenaConfig != null)
+ {
+ upScore = arenaConfig.LVUpScore;
+ }
return upScore == 0;
}
@@ -200,24 +214,83 @@
#endregion
#region 鍗忚
- public int curRank { get; private set; } //褰撳墠娈典綅
- public int curScore { get; private set; } //褰撳墠绉垎
public int curWinRate { get; private set; } //褰撳墠鑳滅巼
public int sumBattleNum { get; private set; } //瀵规垬鎬诲満鏁�
public int dayMatchNum { get; private set; } //浠婃棩鍖归厤娆℃暟
public int alreadyBuyNum { get; private set;} //浠婃棩璐拱鍖归厤娆℃暟
- #endregion
-
- private void ResetData()
+ public PkResultInfo pkResultInfo { get; private set;}
+ public event Action UpdatePkResultEvent;
+ public void UpdatePKResultInfo(HC003_tagGCCrossRealmPKOverInfo pKOverInfo)
{
- curRank = 0;
- curScore = 0;
- curWinRate = 0;
- sumBattleNum = 0;
- dayMatchNum = 0;
- alreadyBuyNum = 0;
+ 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;
+ 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>
+ ///0-鍙栨秷鍖归厤; 1-杩涜鍖归厤
+ /// </summary>
+ /// <param name="type"></param>
+ public void SendCrossMatch(int type)
+ {
+ CC101_tagCMCrossRealmPKMatch match = new CC101_tagCMCrossRealmPKMatch();
+ match.Type = (byte)type;
+ GameNetSystem.Instance.SendInfo(match);
+ }
+ #endregion
#region 绾㈢偣
#endregion
--
Gitblit v1.8.0