From dac2b2669e7eb8da6719e8d5f9391ad1061ac4a5 Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期四, 14 二月 2019 12:04:21 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
---
System/CrossServerOneVsOne/CrossServerOneVsOneRewardModel.cs | 101 +++++++++++++++++++++++++++++++++++---------------
1 files changed, 70 insertions(+), 31 deletions(-)
diff --git a/System/CrossServerOneVsOne/CrossServerOneVsOneRewardModel.cs b/System/CrossServerOneVsOne/CrossServerOneVsOneRewardModel.cs
index 699cb79..7a4227a 100644
--- a/System/CrossServerOneVsOne/CrossServerOneVsOneRewardModel.cs
+++ b/System/CrossServerOneVsOne/CrossServerOneVsOneRewardModel.cs
@@ -81,11 +81,11 @@
private int MianOpenLV = 0;//璺ㄦ湇鎸夐挳寮�鍚潯浠�
public string ZoneName = string.Empty;//璧涘尯鍚�
- private int currentId = 0;
+ private int currentId = 0;//鑾峰彇褰撳墠璧涘尯ID
+ private string crossZoneName = string.Empty;//璧涘尯缂栧彿
public override void Init()
{
- GetSeasonAward();
- GetSegmentReward();
+
var config = Config.Instance.Get<FuncConfigConfig>("CrossServerIcon").Numerical1;
MianOpenLV = int.Parse(config);
}
@@ -102,6 +102,8 @@
public void OnPlayerLoginOk()
{
+ GetSeasonAward();
+ GetSegmentReward();
crossServerModel.UpdatePkResultEvent += UpdatePkResultEvent;
CrossServerOneVsOnePlayerInfo.Instance.UpdatePlayerInfoEvent += UpdatePlayerInfoEvent;
GetZoneName();
@@ -159,21 +161,30 @@
WindowCenter.Instance.Open<CrossServerSettlementWin>();
}
}
- public void GetSeasonAward()//娈典綅濂栧姳鏁版嵁鑾峰彇
+ public void GetSeasonAward()//娈典綅濂栧姳鏁版嵁鑾峰彇
{
- // if(currentId)
+
var seasonID = CrossServerOneVsOnePKSeason.Instance.SeasonID;
+ if (CrossServerOneVsOnePKSeason.Instance.CrossZoneName != null)
+ {
+ crossZoneName = CrossServerOneVsOnePKSeason.Instance.CrossZoneName;
+ }
if (seasonID == 0)
{
- seasonID +=1;
+ seasonID += 1;
+ }
+ if (currentId == seasonID && SegmentRewardDic.Count != 0)
+ {
+ return;
}
var configPK = Config.Instance.GetAllValues<CrossRealmPKDanAwardConfig>();
- // var config = Config.Instance.GetAllValues<CrossServerArenaConfig>();
+ SegmentRewardDic.Clear();
for (int i = 0; i < configPK.Count; i++)
{
var _config = configPK[i];
- if (!SegmentRewardDic.ContainsKey(_config.DanLV) && _config.SeasonID== seasonID)
- {
+ bool result = crossZoneName.Equals(_config.CrossZoneName);
+ if (!SegmentRewardDic.ContainsKey(_config.DanLV) && _config.SeasonID == seasonID && result)
+ {
SeasonAwardClass seasonAwardClass = new SeasonAwardClass();
seasonAwardClass.DanLv = _config.DanLV;
var crossServerArena = Config.Instance.Get<CrossServerArenaConfig>(_config.DanLV);
@@ -181,7 +192,7 @@
{
seasonAwardClass.Name = crossServerArena.Name;
seasonAwardClass.Score = crossServerArena.LVUpScore;
- }
+ }
var _jsonData = LitJson.JsonMapper.ToObject(_config.DanLVAwardList);
List<Item_Class> itemClassList = new List<Item_Class>();
for (int j = 0; j < _jsonData.Count; j++)
@@ -200,31 +211,57 @@
SegmentRewardDic.Add(_config.DanLV, seasonAwardClass);
}
}
+ currentId = seasonID;
}
- private void GetSegmentReward()
+ public void GetSegmentReward()//璧涘濂栧姳
{
- var CrossRealmPKAward = Config.Instance.Get<FuncConfigConfig>("CrossRealmPKAward");
- ImpactRankModel.RankAwardItem _award = new ImpactRankModel.RankAwardItem();
- var _jsonData = LitJson.JsonMapper.ToObject(CrossRealmPKAward.Numerical3);
- foreach (string key in _jsonData.Keys)
+ var seasonID = CrossServerOneVsOnePKSeason.Instance.SeasonID;
+ if (CrossServerOneVsOnePKSeason.Instance.CrossZoneName != null)
{
- var _ranking = int.Parse(key);
- var _itemArray = LitJson.JsonMapper.ToObject<int[][]>(_jsonData[key].ToJson());
- for (int j = 0; j < _itemArray.Length; j++)
- {
- _award.Add(_ranking, new AwardItem()
- {
- item = new Item(_itemArray[j][0], _itemArray[j][1]),
- isBind = _itemArray[j][2],
- });
- }
+ crossZoneName = CrossServerOneVsOnePKSeason.Instance.CrossZoneName;
}
- SeasonRewardDic = _award;
- var config = Config.Instance.GetAllValues<CrossServerArenaConfig>();
- for (int i = 0; i < config.Count; i++)
+ if (seasonID == 0)
{
- var _config = config[i];
- if (!SeasonRewardConfigDic.ContainsKey(_config.DanLV))
+ seasonID += 1;
+ }
+ if (currentId == seasonID && SeasonRewardConfigDic.Count != 0)
+ {
+ return;
+ }
+ var crossRealmPKOrderAward = Config.Instance.GetAllValues<CrossRealmPKOrderAwardConfig>();
+ for (int i = 0; i < crossRealmPKOrderAward.Count; i++)
+ {
+ var _config = crossRealmPKOrderAward[i];
+ bool result = crossZoneName.Equals(_config.CrossZoneName);
+ if (seasonID == _config.SeasonID && result)
+ {
+ ImpactRankModel.RankAwardItem _award = new ImpactRankModel.RankAwardItem();
+ var _jsonData = LitJson.JsonMapper.ToObject(_config.SeasonOrderAward);
+ foreach (string key in _jsonData.Keys)
+ {
+ var _ranking = int.Parse(key);
+ var _itemArray = LitJson.JsonMapper.ToObject<int[][]>(_jsonData[key].ToJson());
+ for (int j = 0; j < _itemArray.Length; j++)
+ {
+ _award.Add(_ranking, new AwardItem()
+ {
+ item = new Item(_itemArray[j][0], _itemArray[j][1]),
+ isBind = _itemArray[j][2],
+ });
+ }
+ }
+ SeasonRewardDic = _award;
+ }
+
+ }
+ //---
+ SeasonRewardConfigDic.Clear();
+ var configPK = Config.Instance.GetAllValues<CrossRealmPKDanAwardConfig>();
+ for (int i = 0; i < configPK.Count; i++)
+ {
+ var _config = configPK[i];
+ bool result = crossZoneName.Equals(_config.CrossZoneName);
+ if (!SeasonRewardConfigDic.ContainsKey(_config.DanLV) && _config.SeasonID == seasonID && result)
{
var _jsonDataC = LitJson.JsonMapper.ToObject(_config.SeasonAwardList);
List<Item_Class> itemClassList = new List<Item_Class>();
@@ -243,6 +280,7 @@
SeasonRewardConfigDic.Add(_config.DanLV, itemClassList);
}
}
+ currentId = seasonID;
}
public void CrossRealmPKAwardState(HC102_tagMCCrossRealmPKAwardState info)//c102璺ㄦ湇PK鐜╁濂栧姳璁板綍
{
@@ -441,7 +479,8 @@
}
private static int m_PkType = 0;
- public static int PkType {
+ public static int PkType
+ {
get { return m_PkType; }
set { m_PkType = value; }
}
--
Gitblit v1.8.0