From 81debef1d511d77a84674bf9fa19b3ef65cfc5d8 Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期二, 28 八月 2018 17:40:08 +0800
Subject: [PATCH] 2968 【前端】封魔坛必定掉落、几率掉落根据职业显示不同

---
 Core/GameEngine/Model/Config/DemonJarConfig.cs.meta   |    2 
 Core/GameEngine/Model/Config/DemonJarConfig.cs        |   44 +++++++---------------
 System/FindPrecious/BossIntroduceBehaviour.cs         |   17 ++++----
 System/FindPrecious/DemonJarBossIntroduceBehaviour.cs |   21 +++++-----
 4 files changed, 34 insertions(+), 50 deletions(-)

diff --git a/Core/GameEngine/Model/Config/DemonJarConfig.cs b/Core/GameEngine/Model/Config/DemonJarConfig.cs
index 5b4f13b..d0cbc53 100644
--- a/Core/GameEngine/Model/Config/DemonJarConfig.cs
+++ b/Core/GameEngine/Model/Config/DemonJarConfig.cs
@@ -14,10 +14,8 @@
 		public int NPCID { get ; private set ; }
 		public int LineID { get ; private set ; }
 		public int Time { get ; private set ; }
-		public int[] MustItemIDJob1;
-		public string[] MustItemDescriptionsJob1;
-		public int[] MustItemIDJob2;
-		public string[] MustItemDescriptionsJob2;
+		public string MustItemID { get ; private set; } 
+		public string MustItemDescriptions { get ; private set; } 
 		public int[] RareItemID;
 		public string PortraitID { get ; private set; } 
 		public int SpecialItemMark { get ; private set ; }
@@ -43,63 +41,49 @@
 			
 				Time=IsNumeric(rawContents[2]) ? int.Parse(rawContents[2]):0; 
 			
-				string[] MustItemIDJob1StringArray = rawContents[3].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
-				MustItemIDJob1 = new int[MustItemIDJob1StringArray.Length];
-				for (int i=0;i<MustItemIDJob1StringArray.Length;i++)
-				{
-					 int.TryParse(MustItemIDJob1StringArray[i],out MustItemIDJob1[i]);
-				}
+				MustItemID = rawContents[3].Trim();
 			
-				MustItemDescriptionsJob1 = rawContents[4].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
+				MustItemDescriptions = rawContents[4].Trim();
 			
-				string[] MustItemIDJob2StringArray = rawContents[5].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
-				MustItemIDJob2 = new int[MustItemIDJob2StringArray.Length];
-				for (int i=0;i<MustItemIDJob2StringArray.Length;i++)
-				{
-					 int.TryParse(MustItemIDJob2StringArray[i],out MustItemIDJob2[i]);
-				}
-			
-				MustItemDescriptionsJob2 = rawContents[6].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
-			
-				string[] RareItemIDStringArray = rawContents[7].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
+				string[] RareItemIDStringArray = rawContents[5].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
 				RareItemID = new int[RareItemIDStringArray.Length];
 				for (int i=0;i<RareItemIDStringArray.Length;i++)
 				{
 					 int.TryParse(RareItemIDStringArray[i],out RareItemID[i]);
 				}
 			
-				PortraitID = rawContents[8].Trim();
+				PortraitID = rawContents[6].Trim();
 			
-				SpecialItemMark=IsNumeric(rawContents[9]) ? int.Parse(rawContents[9]):0; 
+				SpecialItemMark=IsNumeric(rawContents[7]) ? int.Parse(rawContents[7]):0; 
 			
-				CanEnterTimes=IsNumeric(rawContents[10]) ? int.Parse(rawContents[10]):0; 
+				CanEnterTimes=IsNumeric(rawContents[8]) ? int.Parse(rawContents[8]):0; 
 			
-				AutoAttention=IsNumeric(rawContents[11]) ? int.Parse(rawContents[11]):0; 
+				AutoAttention=IsNumeric(rawContents[9]) ? int.Parse(rawContents[9]):0; 
 			
-				string[] Job1StringArray = rawContents[12].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
+				string[] Job1StringArray = rawContents[10].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
 				Job1 = new int[Job1StringArray.Length];
 				for (int i=0;i<Job1StringArray.Length;i++)
 				{
 					 int.TryParse(Job1StringArray[i],out Job1[i]);
 				}
 			
-				string[] Job2StringArray = rawContents[13].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
+				string[] Job2StringArray = rawContents[11].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
 				Job2 = new int[Job2StringArray.Length];
 				for (int i=0;i<Job2StringArray.Length;i++)
 				{
 					 int.TryParse(Job2StringArray[i],out Job2[i]);
 				}
 			
-				string[] Job3StringArray = rawContents[14].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
+				string[] Job3StringArray = rawContents[12].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
 				Job3 = new int[Job3StringArray.Length];
 				for (int i=0;i<Job3StringArray.Length;i++)
 				{
 					 int.TryParse(Job3StringArray[i],out Job3[i]);
 				}
 			
-				KillHurtMin=IsNumeric(rawContents[15]) ? int.Parse(rawContents[15]):0; 
+				KillHurtMin=IsNumeric(rawContents[13]) ? int.Parse(rawContents[13]):0; 
 			
-				KillHurtMax=IsNumeric(rawContents[16]) ? int.Parse(rawContents[16]):0; 
+				KillHurtMax=IsNumeric(rawContents[14]) ? int.Parse(rawContents[14]):0; 
             }
             catch (Exception ex)
             {
diff --git a/Core/GameEngine/Model/Config/DemonJarConfig.cs.meta b/Core/GameEngine/Model/Config/DemonJarConfig.cs.meta
index c289ab1..1cbe5ff 100644
--- a/Core/GameEngine/Model/Config/DemonJarConfig.cs.meta
+++ b/Core/GameEngine/Model/Config/DemonJarConfig.cs.meta
@@ -1,6 +1,6 @@
 fileFormatVersion: 2
 guid: 7e442059ea96745478dd5787f9e84ef5
-timeCreated: 1535444125
+timeCreated: 1535448421
 licenseType: Pro
 MonoImporter:
   serializedVersion: 2
diff --git a/System/FindPrecious/BossIntroduceBehaviour.cs b/System/FindPrecious/BossIntroduceBehaviour.cs
index 07933f7..18bb249 100644
--- a/System/FindPrecious/BossIntroduceBehaviour.cs
+++ b/System/FindPrecious/BossIntroduceBehaviour.cs
@@ -7,6 +7,7 @@
 using System.Collections.Generic;
 using UnityEngine.UI;
 using TableConfig;
+using LitJson;
 
 namespace Snxxz.UI
 {
@@ -120,16 +121,14 @@
                     break;
                 case FindPreciousType.DemonJar:
                     var demonJarConfig = Config.Instance.Get<DemonJarConfig>(bossId);
-                    switch (PlayerDatas.Instance.baseData.Job)
-                    {
-                        case 1:
-                            undoubtedlyRewards = demonJarConfig.MustItemIDJob1;
-                            break;
-                        case 2:
-                            undoubtedlyRewards = demonJarConfig.MustItemIDJob2;
-                            break;
-                    }
 
+                    var json = JsonMapper.ToObject(demonJarConfig.MustItemID);
+                    var jobJsonData = json[PlayerDatas.Instance.baseData.Job.ToString()];
+                    undoubtedlyRewards = new int[jobJsonData.Count];
+                    for (int i = 0; i < undoubtedlyRewards.Length; i++)
+                    {
+                        undoubtedlyRewards[i] = (int)jobJsonData[i];
+                    }
                     unusualRewards = demonJarConfig.RareItemID;
                     break;
             }
diff --git a/System/FindPrecious/DemonJarBossIntroduceBehaviour.cs b/System/FindPrecious/DemonJarBossIntroduceBehaviour.cs
index efa3bb1..26716ee 100644
--- a/System/FindPrecious/DemonJarBossIntroduceBehaviour.cs
+++ b/System/FindPrecious/DemonJarBossIntroduceBehaviour.cs
@@ -6,6 +6,7 @@
 using System.Collections;
 using UnityEngine.UI;
 using TableConfig;
+using LitJson;
 
 namespace Snxxz.UI
 {
@@ -22,24 +23,24 @@
             if (m_FindPreciousType == FindPreciousType.DemonJar)
             {
                 var demonJarConfig = Config.Instance.Get<DemonJarConfig>(bossId);
-                string[] descriptions = null;
-                switch (PlayerDatas.Instance.baseData.Job)
+
+                var json = JsonMapper.ToObject(demonJarConfig.MustItemID);
+                var jobJsonData = json[PlayerDatas.Instance.baseData.Job.ToString()];
+                var rewards = new int[jobJsonData.Count];
+                for (int i = 0; i < rewards.Length; i++)
                 {
-                    case 1:
-                        descriptions = demonJarConfig.MustItemDescriptionsJob1;
-                        break;
-                    case 2:
-                        descriptions = demonJarConfig.MustItemDescriptionsJob2;
-                        break;
+                    rewards[i] = (int)jobJsonData[i];
                 }
 
+                var descriptionJson = JsonMapper.ToObject(demonJarConfig.MustItemDescriptions);
                 for (int i = 0; i < m_UndoubtedlyRewardDescription.Length; i++)
                 {
                     var behaviour = m_UndoubtedlyRewardDescription[i];
-                    if (i < descriptions.Length)
+                    if (i < rewards.Length)
                     {
                         behaviour.gameObject.SetActive(true);
-                        behaviour.text = descriptions[i];
+                        var rewardString = rewards[i].ToString();
+                        behaviour.text = descriptionJson.Keys.Contains(rewardString) ? descriptionJson[rewardString].ToString() : "";
                     }
                     else
                     {

--
Gitblit v1.8.0