From f83a2d658ae62e6a409496c8538ee9fd1e2de158 Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期二, 21 八月 2018 11:14:22 +0800
Subject: [PATCH] 2564【前端】宗门试炼奖励支持配置数量绑定
---
System/Dungeon/TrialDungeonModel.cs | 24 +++++++++++++++++++-----
1 files changed, 19 insertions(+), 5 deletions(-)
diff --git a/System/Dungeon/TrialDungeonModel.cs b/System/Dungeon/TrialDungeonModel.cs
index 6933d8e..3443f07 100644
--- a/System/Dungeon/TrialDungeonModel.cs
+++ b/System/Dungeon/TrialDungeonModel.cs
@@ -10,7 +10,7 @@
{
Dictionary<int, List<TrialExchangeConfig>> trialTokenExchangeDict = new Dictionary<int, List<TrialExchangeConfig>>();
Dictionary<int, int> lineToTokenClassDict;
- Dictionary<int, Dictionary<int, int[]>> trialRewardDict = new Dictionary<int, Dictionary<int, int[]>>();
+ Dictionary<int, Dictionary<int, Item[]>> trialRewardDict = new Dictionary<int, Dictionary<int, Item[]>>();
public Dictionary<int, List<int>> trialClassTokens = new Dictionary<int, List<int>>();
public List<int> trialTokens = new List<int>();
PlayerPackModel packModel { get { return ModelCenter.Instance.GetModel<PlayerPackModel>(); } }
@@ -83,13 +83,27 @@
var trialRewards = ConfigManager.Instance.GetAllValues<TrialRewardsConfig>();
for (int i = 0; i < trialRewards.Count; i++)
{
- Dictionary<int, int[]> dict = null;
+ Dictionary<int, Item[]> dict = null;
if (!trialRewardDict.TryGetValue(trialRewards[i].lineId, out dict))
{
- dict = new Dictionary<int, int[]>();
+ dict = new Dictionary<int, Item[]>();
trialRewardDict.Add(trialRewards[i].lineId, dict);
}
- dict.Add(trialRewards[i].grade, trialRewards[i].rewards);
+ var itemsArray = LitJson.JsonMapper.ToObject<int[][]>(trialRewards[i].rewards);
+ if (itemsArray != null && itemsArray.Length > 0)
+ {
+ Item[] items = new Item[itemsArray.Length];
+ for (int k = 0; k < itemsArray.Length; k++)
+ {
+ items[k] = new Item()
+ {
+ id = itemsArray[k][0],
+ count = itemsArray[k][1],
+ bind = itemsArray[k][2] == 1
+ };
+ }
+ dict.Add(trialRewards[i].grade, items);
+ }
}
}
@@ -153,7 +167,7 @@
return trialTokenExchangeDict.TryGetValue(lv, out list);
}
- public bool TryGetTrialRewards(int lineId, int grade, out int[] rewards)
+ public bool TryGetTrialRewards(int lineId, int grade, out Item[] rewards)
{
rewards = null;
if (trialRewardDict.ContainsKey(lineId))
--
Gitblit v1.8.0