From 1c6fc962dcc98a57d0e3e35d4271899f0c430170 Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期五, 14 九月 2018 16:04:19 +0800
Subject: [PATCH] 3579【前端】【1.1.0】【1.0.15】封魔坛鼓舞修改为N次仙玉鼓舞,去除铜钱鼓舞

---
 Core/GameEngine/Model/Config/DungeonInspireConfig.cs                                |   30 ++--
 Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA30A_tagMCFBEncourageInfo.cs |    5 
 System/Dungeon/DungeonInspireWin.cs                                                 |  194 +++++++++++++++++++-------------
 Core/NetworkPackage/ServerPack/HA3_Function/HA30A_tagMCFBEncourageInfo.cs           |   18 ++
 System/Dungeon/DungeonModel.cs                                                      |   63 +++++----
 Core/GameEngine/Model/Config/DungeonInspireConfig.cs.meta                           |    2 
 System/Dungeon/DungeonFairyLandWin.cs                                               |    6 
 System/Dungeon/DungeonInspireBehaviour.cs                                           |   12 +-
 8 files changed, 191 insertions(+), 139 deletions(-)

diff --git a/Core/GameEngine/Model/Config/DungeonInspireConfig.cs b/Core/GameEngine/Model/Config/DungeonInspireConfig.cs
index bbbf0c8..5aebec7 100644
--- a/Core/GameEngine/Model/Config/DungeonInspireConfig.cs
+++ b/Core/GameEngine/Model/Config/DungeonInspireConfig.cs
@@ -1,6 +1,6 @@
 锘�//--------------------------------------------------------
 //    [Author]:			绗簩涓栫晫
-//    [  Date ]:		   Saturday, January 06, 2018
+//    [  Date ]:		   Friday, September 14, 2018
 //--------------------------------------------------------
 
 using UnityEngine;
@@ -11,11 +11,11 @@
     
 	public partial class DungeonInspireConfig : ConfigBase {
 
-		public int ID { get ; private set ; }
-		public int DataMapId { get ; private set ; }
-		public int InspireType { get ; private set ; }
-		public int InspireCount { get ; private set ; }
-		public int MoneyCount { get ; private set ; }
+		public int ID { get ; private set ; }
+		public int DataMapId { get ; private set ; }
+		public int InspireType { get ; private set ; }
+		public int InspireCount { get ; private set ; }
+		public string MoneyCount { get ; private set; } 
 
 		public override string getKey()
         {
@@ -25,15 +25,15 @@
 		public override void Parse() {
 			try
             {
-                ID=IsNumeric(rawContents[0]) ? int.Parse(rawContents[0]):0; 
-			
-				DataMapId=IsNumeric(rawContents[1]) ? int.Parse(rawContents[1]):0; 
-			
-				InspireType=IsNumeric(rawContents[2]) ? int.Parse(rawContents[2]):0; 
-			
-				InspireCount=IsNumeric(rawContents[3]) ? int.Parse(rawContents[3]):0; 
-			
-				MoneyCount=IsNumeric(rawContents[4]) ? int.Parse(rawContents[4]):0; 
+                ID=IsNumeric(rawContents[0]) ? int.Parse(rawContents[0]):0; 
+			
+				DataMapId=IsNumeric(rawContents[1]) ? int.Parse(rawContents[1]):0; 
+			
+				InspireType=IsNumeric(rawContents[2]) ? int.Parse(rawContents[2]):0; 
+			
+				InspireCount=IsNumeric(rawContents[3]) ? int.Parse(rawContents[3]):0; 
+			
+				MoneyCount = rawContents[4].Trim();
             }
             catch (Exception ex)
             {
diff --git a/Core/GameEngine/Model/Config/DungeonInspireConfig.cs.meta b/Core/GameEngine/Model/Config/DungeonInspireConfig.cs.meta
index 22d92b3..9e868bd 100644
--- a/Core/GameEngine/Model/Config/DungeonInspireConfig.cs.meta
+++ b/Core/GameEngine/Model/Config/DungeonInspireConfig.cs.meta
@@ -1,6 +1,6 @@
 fileFormatVersion: 2
 guid: 413d3284263320648a52a0009e3d125f
-timeCreated: 1515213550
+timeCreated: 1536909479
 licenseType: Pro
 MonoImporter:
   serializedVersion: 2
diff --git a/Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA30A_tagMCFBEncourageInfo.cs b/Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA30A_tagMCFBEncourageInfo.cs
index 5afcbec..f3a811a 100644
--- a/Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA30A_tagMCFBEncourageInfo.cs
+++ b/Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA30A_tagMCFBEncourageInfo.cs
@@ -21,7 +21,10 @@
         base.Done(vNetPack);
 
         HA30A_tagMCFBEncourageInfo vNetData = vNetPack as HA30A_tagMCFBEncourageInfo;
-        model.UpdateInspireLevel(vNetData.Cnt1, vNetData.Cnt2);
+        for (int i = 0; i < vNetData.Cnt; i++)
+        {
+            model.UpdateInspireLevel(vNetData.InfoList[i].MoneyType, vNetData.InfoList[i].EncourageCnt);
+        }
     }
 
 }
diff --git a/Core/NetworkPackage/ServerPack/HA3_Function/HA30A_tagMCFBEncourageInfo.cs b/Core/NetworkPackage/ServerPack/HA3_Function/HA30A_tagMCFBEncourageInfo.cs
index 040bfd5..a9a1afb 100644
--- a/Core/NetworkPackage/ServerPack/HA3_Function/HA30A_tagMCFBEncourageInfo.cs
+++ b/Core/NetworkPackage/ServerPack/HA3_Function/HA30A_tagMCFBEncourageInfo.cs
@@ -4,16 +4,26 @@
 //A3 0A 副本鼓舞信息通知 #tagMCFBEncourageInfo

 

 public class HA30A_tagMCFBEncourageInfo : GameNetPackBasic {

-    public byte Cnt1;    // 当前铜钱鼓舞次数

-    public byte Cnt2;    // 当前仙玉鼓舞次数

+    public byte Cnt;    // 

+    public  tagMCFBEncourageCnt[] InfoList;    // 次数信息

 

     public HA30A_tagMCFBEncourageInfo () {

         _cmd = (ushort)0xA30A;

     }

 

     public override void ReadFromBytes (byte[] vBytes) {

-        TransBytes (out Cnt1, vBytes, NetDataType.BYTE);

-        TransBytes (out Cnt2, vBytes, NetDataType.BYTE);

+        TransBytes (out Cnt, vBytes, NetDataType.BYTE);

+        InfoList = new tagMCFBEncourageCnt[Cnt];

+        for (int i = 0; i < Cnt; i ++) {

+            InfoList[i] = new tagMCFBEncourageCnt();

+            TransBytes (out InfoList[i].MoneyType, vBytes, NetDataType.BYTE);

+            TransBytes (out InfoList[i].EncourageCnt, vBytes, NetDataType.BYTE);

+        }

+    }

+

+    public struct tagMCFBEncourageCnt {

+        public byte MoneyType;        // 金钱类型

+        public byte EncourageCnt;        // 当前鼓舞次数

     }

 

 }

diff --git a/System/Dungeon/DungeonFairyLandWin.cs b/System/Dungeon/DungeonFairyLandWin.cs
index 6bf4e8c..0048ad4 100644
--- a/System/Dungeon/DungeonFairyLandWin.cs
+++ b/System/Dungeon/DungeonFairyLandWin.cs
@@ -121,9 +121,9 @@
 
         private void DungeonEncourageEvent()
         {
-            var lv = model.dungeonCoinInspireCount + model.dungeonJadeInspireCount;
-            targetTextList[3].text = lv == 0 ? StringUtility.Contact(Language.Get("FairyLand_Func3"), "锛�", Language.Get("FairyLand_Func4"))
-                : StringUtility.Contact(Language.Get("FairyLand_Func3"), "锛�<color=#00ff00>", lv * model.dungeonInspireUper, "%</color>");
+            var level = model.GetDungeonInspireLevel();
+            targetTextList[3].text = level == 0 ? StringUtility.Contact(Language.Get("FairyLand_Func3"), "锛�", Language.Get("FairyLand_Func4"))
+                : StringUtility.Contact(Language.Get("FairyLand_Func3"), "锛�<color=#00ff00>", level * model.GetDungeonInspireUpper(31080), "%</color>");
         }
 
         private void UpdateBuf()
diff --git a/System/Dungeon/DungeonInspireBehaviour.cs b/System/Dungeon/DungeonInspireBehaviour.cs
index b3fcf2b..5c77ce0 100644
--- a/System/Dungeon/DungeonInspireBehaviour.cs
+++ b/System/Dungeon/DungeonInspireBehaviour.cs
@@ -43,7 +43,7 @@
             }
             for (int i = 0; i < _list.Count; i++)
             {
-                if (_list[i].InspireType == 1)
+                if (_list[i].InspireType == 3)
                 {
                     m_CoinConfig = _list[i];
                     break;
@@ -54,13 +54,13 @@
         private void UpdateDugeonInspireLv()
         {
             var mapId = model.GetDataMapIdByMapId(PlayerDatas.Instance.baseData.MapID);
-            var lv = model.dungeonJadeInspireCount + model.dungeonCoinInspireCount;
-            m_Waggle = m_CoinConfig != null && model.dungeonCoinInspireCount < m_CoinConfig.InspireCount
-                && lv < model.GetInspireMaxCount(mapId);
+            var level = model.GetDungeonInspireLevel();
+            m_Waggle = m_CoinConfig != null && model.GetDungeonInspireLevel(3) < m_CoinConfig.InspireCount
+                && level < model.GetInspireMaxCount(mapId);
             if (m_InspireProgress != null)
             {
                 m_InspireProgress.gameObject.SetActive(PlayerDatas.Instance.baseData.MapID == DemonJarModel.DEMONJAR_MAPID);
-                m_InspireProgress.text = StringUtility.Contact(lv * 10, "%");
+                m_InspireProgress.text = StringUtility.Contact(level * 10, "%");
             }
             if (!m_Waggle)
             {
@@ -100,7 +100,7 @@
 
         private void OnInspireBtn()
         {
-            if ((model.dungeonCoinInspireCount + model.dungeonJadeInspireCount) >= model.GetInspireMaxCount(PlayerDatas.Instance.baseData.MapID))
+            if ((model.GetDungeonInspireLevel()) >= model.GetInspireMaxCount(PlayerDatas.Instance.baseData.MapID))
             {
                 SysNotifyMgr.Instance.ShowTip("Xjmj_InspireMaxLevel");
                 return;
diff --git a/System/Dungeon/DungeonInspireWin.cs b/System/Dungeon/DungeonInspireWin.cs
index 1a10c7a..97c4699 100644
--- a/System/Dungeon/DungeonInspireWin.cs
+++ b/System/Dungeon/DungeonInspireWin.cs
@@ -15,25 +15,17 @@
 
     public class DungeonInspireWin : Window
     {
-        [SerializeField]
-        Button coinInspireBtn;
-        [SerializeField]
-        GameObject coinInspireMark;
-        [SerializeField]
-        Button fairyInspireBtn;
-        [SerializeField]
-        GameObject fairyInspireMark;
-        [SerializeField]
-        Text coinInspireInfoText;
-        [SerializeField]
-        Text fairyInspireInfoText;
-        [SerializeField] Text m_InpsireLvTxt;
-        [SerializeField]
-        Button confirmBtn;
-        [SerializeField]
-        Button cancelBtn;
-        [SerializeField]
-        Button m_CloseBtn;
+        [SerializeField] Button m_CoinInspire;
+        [SerializeField] RectTransform m_CoinInspireCheck;
+        [SerializeField] Button m_FairyInspire;
+        [SerializeField] RectTransform m_FairyInspireCheck;
+        [SerializeField] Text m_CoinCost;
+        [SerializeField] Text m_FairyCost;
+        [SerializeField] Text m_InspireLevel;
+        [SerializeField] Text m_Remind;
+        [SerializeField] Button m_Confirm;
+        [SerializeField] Button m_Cancel;
+        [SerializeField] Button m_Close;
 
         DungeonModel m_Model;
         DungeonModel model
@@ -44,10 +36,10 @@
             }
         }
 
-        private bool isCoinInspire = false;
-        private bool isFairyInspire = false;
-        private DungeonInspireConfig coinInspireCfg = null;
-        private DungeonInspireConfig fairyInspireCfg = null;
+        private bool coinInspire = false;
+        private bool fairyInspire = false;
+        private DungeonInspireConfig coinInspireConfig = null;
+        private DungeonInspireConfig fairyInspireConfig = null;
         #region Built-in
         protected override void BindController()
         {
@@ -55,11 +47,11 @@
 
         protected override void AddListeners()
         {
-            coinInspireBtn.onClick.AddListener(OnCoinInspire);
-            fairyInspireBtn.onClick.AddListener(OnFairyInspire);
-            confirmBtn.onClick.AddListener(OnConfirmBtn);
-            cancelBtn.onClick.AddListener(OnCancelBtn);
-            m_CloseBtn.onClick.AddListener(CloseClick);
+            m_CoinInspire.onClick.AddListener(CoinInspire);
+            m_FairyInspire.onClick.AddListener(FairyInspire);
+            m_Confirm.onClick.AddListener(Confirm);
+            m_Cancel.onClick.AddListener(Cancel);
+            m_Close.onClick.AddListener(CloseClick);
         }
 
         protected override void OnPreOpen()
@@ -69,25 +61,30 @@
             {
                 return;
             }
-            coinInspireCfg = null;
-            fairyInspireCfg = null;
+            coinInspireConfig = null;
+            fairyInspireConfig = null;
+
             for (int i = 0; i < _list.Count; i++)
             {
-                if (_list[i].InspireType == 1)
+                if (_list[i].InspireType == 3)
                 {
-                    coinInspireCfg = _list[i];
+                    coinInspireConfig = _list[i];
                 }
-                else if (_list[i].InspireType == 2)
+                else if (_list[i].InspireType == 2
+                    || _list[i].InspireType == 1 || _list[i].InspireType == 5)
                 {
-                    fairyInspireCfg = _list[i];
+                    fairyInspireConfig = _list[i];
                 }
             }
 
-            coinInspireBtn.gameObject.SetActive(coinInspireCfg != null);
-            isCoinInspire = coinInspireCfg == null ? false : true;
-            isFairyInspire = !isCoinInspire;
-            InitData();
+            m_CoinInspire.gameObject.SetActive(coinInspireConfig != null);
+
+            coinInspire = coinInspireConfig == null ? false : true;
+            fairyInspire = !coinInspire;
+
+            Display();
             UpdateInspireType();
+            DisplayRemind();
 
             model.dungeonInspireLvEvent += DungeonEncourageEvent;
         }
@@ -96,6 +93,12 @@
 
         protected override void OnAfterOpen()
         {
+            var _list = model.GetDungeonInspire(PlayerDatas.Instance.baseData.MapID);
+            if (_list == null)
+            {
+                CloseImmediately();
+                return;
+            }
         }
 
         protected override void OnPreClose()
@@ -110,95 +113,125 @@
 
         private void DungeonEncourageEvent()
         {
-            var lv = model.dungeonCoinInspireCount + model.dungeonJadeInspireCount;
-            if (lv >= fairyInspireCfg.InspireCount && !InFairyLandGuiding())
+            var level = model.GetDungeonInspireLevel();
+            if (level >= model.GetInspireMaxCount(PlayerDatas.Instance.baseData.MapID)
+                && !InGuiding())
             {
                 CloseImmediately();
                 return;
             }
+            DisplayCost();
             UpdateInspireType();
         }
 
-        private void OnCoinInspire()
+        private void CoinInspire()
         {
-            if (!isCoinInspire)
+            if (!coinInspire)
             {
-                if (model.dungeonCoinInspireCount >= coinInspireCfg.InspireCount)
+                if (model.GetDungeonInspireLevel(3) >= coinInspireConfig.InspireCount)
                 {
                     SysNotifyMgr.Instance.ShowTip("Xjmj_CopperInspireFull");
                     return;
                 }
-                isCoinInspire = true;
-                isFairyInspire = false;
+                coinInspire = true;
+                fairyInspire = false;
             }
             else
             {
-                isCoinInspire = false;
+                coinInspire = false;
             }
             UpdateInspireType();
         }
-        private void OnFairyInspire()
+        private void FairyInspire()
         {
-            if (coinInspireCfg == null)
+            if (coinInspireConfig == null)
             {
                 return;
             }
-            isCoinInspire = false;
-            isFairyInspire = !isFairyInspire;
+            coinInspire = false;
+            fairyInspire = !fairyInspire;
             UpdateInspireType();
         }
 
-        private void OnConfirmBtn()
+        private void Confirm()
         {
-            if (isFairyInspire)
+            if (fairyInspire)
             {
-                if (PlayerDatas.Instance.baseData.GoldPaper + PlayerDatas.Instance.baseData.Gold < fairyInspireCfg.MoneyCount
-                    && !InFairyLandGuiding())
+                uint money = 0;
+                switch (fairyInspireConfig.InspireType)
                 {
-                    SysNotifyMgr.Instance.ShowTip("Xjmj_InspireNoEnoughFairy");
+                    case 1:
+                        money += PlayerDatas.Instance.baseData.Gold;
+                        break;
+                    case 2:
+                        money += PlayerDatas.Instance.baseData.GoldPaper;
+                        break;
+                    case 5:
+                        money = PlayerDatas.Instance.baseData.GoldPaper + PlayerDatas.Instance.baseData.Gold;
+                        break;
+                }
+                if (money < model.GetDungeonInspireCost(fairyInspireConfig)
+                    && !InGuiding())
+                {
+                    CloseImmediately();
+                    WindowCenter.Instance.Open<RechargeTipWin>();
                 }
                 else
                 {
-                    CA508_tagCMDoFBAction inspirepack = new CA508_tagCMDoFBAction();
-                    inspirepack.ActionType = 0;
-                    inspirepack.ActionInfo = (uint)fairyInspireCfg.InspireType;
-                    GameNetSystem.Instance.SendInfo(inspirepack);
+                    CA508_tagCMDoFBAction pak = new CA508_tagCMDoFBAction();
+                    pak.ActionType = 0;
+                    pak.ActionInfo = (uint)fairyInspireConfig.InspireType;
+                    GameNetSystem.Instance.SendInfo(pak);
                 }
             }
-            else if (isCoinInspire)
+            else if (coinInspire)
             {
-                if (PlayerDatas.Instance.baseData.Silver < coinInspireCfg.MoneyCount
-                    && !InFairyLandGuiding())
+                if (UIHelper.GetMoneyCnt(3) < (ulong)model.GetDungeonInspireCost(coinInspireConfig)
+                    && !InGuiding())
                 {
                     SysNotifyMgr.Instance.ShowTip("Xjmj_InspireNoEnoughGold");
                 }
                 else
                 {
-                    CA508_tagCMDoFBAction inspirepack = new CA508_tagCMDoFBAction();
-                    inspirepack.ActionType = 0;
-                    inspirepack.ActionInfo = (uint)coinInspireCfg.InspireType;
-                    GameNetSystem.Instance.SendInfo(inspirepack);
+                    CA508_tagCMDoFBAction pak = new CA508_tagCMDoFBAction();
+                    pak.ActionType = 0;
+                    pak.ActionInfo = (uint)coinInspireConfig.InspireType;
+                    GameNetSystem.Instance.SendInfo(pak);
                 }
             }
         }
 
-        private void OnCancelBtn()
+        private void Cancel()
         {
             CloseImmediately();
         }
 
-        private void InitData()
+        private void Display()
         {
-            if (coinInspireCfg != null)
-            {
-                coinInspireInfoText.text = Language.Get("FairyLand_Func9", coinInspireCfg.MoneyCount, coinInspireCfg.InspireCount);
-            }
-            fairyInspireInfoText.text = Language.Get("FairyLand_Func10", fairyInspireCfg.MoneyCount);
+            DisplayCost();
         }
 
-        bool InFairyLandGuiding()
+        private void DisplayCost()
         {
-            if (NewBieCenter.Instance.inGuiding && NewBieCenter.Instance.currentGuide == GeneralConfig.Instance.fairyLandGuideId)
+            if (coinInspireConfig != null)
+            {
+                m_CoinCost.text = Language.Get("FairyLand_Func9", model.GetDungeonInspireCost(coinInspireConfig), coinInspireConfig.InspireCount);
+            }
+            if (fairyInspireConfig != null)
+            {
+                m_FairyCost.text = Language.Get("FairyLand_Func10", model.GetDungeonInspireCost(fairyInspireConfig));
+            }
+        }
+
+        void DisplayRemind()
+        {
+            m_Remind.gameObject.SetActive(fairyInspireConfig != null && fairyInspireConfig.InspireType == 5);
+        }
+
+        bool InGuiding()
+        {
+            if (NewBieCenter.Instance.inGuiding
+                && NewBieCenter.Instance.currentGuide == GeneralConfig.Instance.fairyLandGuideId)
             {
                 return true;
             }
@@ -207,11 +240,12 @@
 
         private void UpdateInspireType()
         {
-            var lv = model.dungeonJadeInspireCount + model.dungeonCoinInspireCount;
-            m_InpsireLvTxt.text = lv == 0 ? Language.Get("FairyLand_Func4")
-                : Language.Get("HaveInspired", StringUtility.Contact("<color=#109d06>", lv * model.dungeonInspireUper, "%</color>"));
-            coinInspireMark.SetActive(isCoinInspire);
-            fairyInspireMark.SetActive(isFairyInspire);
+            var level = model.GetDungeonInspireLevel();
+            m_InspireLevel.text = level == 0 ? Language.Get("FairyLand_Func4")
+                : Language.Get("HaveInspired", StringUtility.Contact("<color=#109d06>", 
+                level * model.GetDungeonInspireUpper(PlayerDatas.Instance.baseData.MapID), "%</color>"));
+            m_CoinInspireCheck.gameObject.SetActive(coinInspire);
+            m_FairyInspireCheck.gameObject.SetActive(fairyInspire);
         }
     }
 
diff --git a/System/Dungeon/DungeonModel.cs b/System/Dungeon/DungeonModel.cs
index a8ea790..d839622 100644
--- a/System/Dungeon/DungeonModel.cs
+++ b/System/Dungeon/DungeonModel.cs
@@ -73,17 +73,9 @@
             set { m_DungeonResult = value; }
         }
 
-        public int dungeonCoinInspireCount {
-            get; private set;
-        }
-
-        public int dungeonJadeInspireCount {
-            get; private set;
-        }
-
-        public int dungeonInspireUper {
-            get; private set;
-        }
+        Dictionary<int, int> dungeonInspireCounts = new Dictionary<int, int>();//5-浠欑帀鎴栫粦鐜�
+        Dictionary<int, int> dungeonInspireUpperDict = new Dictionary<int, int>();
+        Dictionary<int, int> dungeonMaxInspireCountDict = new Dictionary<int, int>();
 
         Dungeon m_SelectedKylinDungeon;
         public Dungeon selectedKylinDungeon {
@@ -140,8 +132,7 @@
         public void OnBeforePlayerDataInitialize()
         {
             dungeonCountRemainTimes.Clear();
-            dungeonCoinInspireCount = 0;
-            dungeonJadeInspireCount = 0;
+            dungeonInspireCounts.Clear();
         }
 
         public void OnAfterPlayerDataInitialize()
@@ -597,6 +588,7 @@
             specialItemCollectRecord = default(Item);
             dungeonCoolDowns.Clear();
             m_Mission = default(DungeonMissionData);
+            dungeonInspireCounts.Clear();
         }
 
         public void UpdateRecords(HA320_tagMCPlayerFBInfoData.tagMCFBInfo[] _serverInfos)
@@ -690,10 +682,9 @@
             }
         }
 
-        public void UpdateInspireLevel(int coinInspireLv, int jadeInpsireLv)
+        public void UpdateInspireLevel(int type, int count)
         {
-            dungeonCoinInspireCount = coinInspireLv;
-            dungeonJadeInspireCount = jadeInpsireLv;
+            dungeonInspireCounts[type] = count;
             if (dungeonInspireLvEvent != null)
             {
                 dungeonInspireLvEvent();
@@ -1216,22 +1207,35 @@
             }
         }
 
-        public int GetInspireMaxCount(int _dataMapId)
+        public int GetDungeonInspireLevel(int moneyType = 0)//0浠h〃鎬荤瓑绾�
         {
-            List<DungeonInspireConfig> _list = GetDungeonInspire(_dataMapId);
-            int _maxCnt = 0;
-            if (_list != null)
+            var level = 0;
+            foreach (var key in dungeonInspireCounts.Keys)
             {
-                for (int i = 0; i < _list.Count; i++)
+                if (moneyType == 0 || moneyType == key)
                 {
-                    if (_list[i].InspireType == 2)
-                    {
-                        _maxCnt = _list[i].InspireCount;
-                        break;
-                    }
+                    level += dungeonInspireCounts[key];
                 }
             }
-            return _maxCnt;
+            return level;
+        }
+
+        public int GetDungeonInspireCost(DungeonInspireConfig config)
+        {
+            var level = GetDungeonInspireLevel();
+            Equation.Instance.Clear();
+            Equation.Instance.AddKeyValue("encourageLV", level);
+            return Equation.Instance.Eval<int>(config.MoneyCount);
+        }
+
+        public int GetDungeonInspireUpper(int mapId)
+        {
+            return dungeonInspireUpperDict.ContainsKey(mapId) ? dungeonInspireUpperDict[mapId] : 0;
+        }
+
+        public int GetInspireMaxCount(int _dataMapId)
+        {
+            return dungeonMaxInspireCountDict.ContainsKey(_dataMapId) ? dungeonMaxInspireCountDict[_dataMapId] : 0;
         }
 
         public Item GetLackItem(DungeonSuppliesLackWin.LackType lackType)
@@ -1363,10 +1367,11 @@
                 trialDungeonMapList.AddRange(ConfigParse.GetMultipleStr<int>(funcCfg.Numerical1));
             }
 
-            funcCfg = Config.Instance.Get<FuncConfigConfig>("InspireNum");
+            funcCfg = Config.Instance.Get<FuncConfigConfig>("FBEncourageBuff");
             if (funcCfg != null)
             {
-                dungeonInspireUper = int.Parse(funcCfg.Numerical1);
+                dungeonMaxInspireCountDict = ConfigParse.GetDic<int, int>(funcCfg.Numerical2);
+                dungeonInspireUpperDict = ConfigParse.GetDic<int, int>(funcCfg.Numerical3);
             }
 
             foreach (var _cfg in Config.Instance.GetAllValues<DungeonInspireConfig>())

--
Gitblit v1.8.0