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