zhaoyang 3 years ago
parent
commit
05ffdb6698

+ 1 - 1
GameClient/Assets/Game/CSShare

@@ -1 +1 @@
-Subproject commit 23075e2b3f8c1a53092f5856d846d2f7fa305471
+Subproject commit ff27e356ce2680481ba9fc0af2427eac0697c6db

+ 10 - 4
GameClient/Assets/Game/HotUpdate/Data/CardDataManager.cs

@@ -160,16 +160,22 @@ namespace GFGGame
             CardLvlCfg tCurCfg = CardLvlCfgArray.Instance.GetCfg(showLv, rarity);
             CardLvlCfg tCurCfg = CardLvlCfgArray.Instance.GetCfg(showLv, rarity);
             while (showExp >= tCurCfg.needExp && showLv <= maxLv)
             while (showExp >= tCurCfg.needExp && showLv <= maxLv)
             {
             {
-                showLv++;
-                if (showLv == maxLv)
+
+                showExp -= tCurCfg.needExp;
+                if (showLv + 1 > maxLv)
                 {
                 {
                     //满级
                     //满级
-                    showLv = maxLv - 1;
+                    // showLv = showLv - 1;
                     showExp = tCurCfg.needExp;
                     showExp = tCurCfg.needExp;
                     break;
                     break;
                 }
                 }
+                showLv++;
                 tCurCfg = CardLvlCfgArray.Instance.GetCfg(showLv, rarity);
                 tCurCfg = CardLvlCfgArray.Instance.GetCfg(showLv, rarity);
-                showExp -= tCurCfg.needExp;
+                // if (showExp < tCurCfg.needExp)
+                // {
+                //     showLv = showLv - 1;
+                //     break;
+                // }
             }
             }
         }
         }
 
 

+ 1 - 1
GameClient/Assets/Game/HotUpdate/ExcelConfig/Manager/SuitCfgManager.cs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
 fileFormatVersion: 2
-guid: 7a34da0d86583b94c904ccedfb532b01
+guid: 8ea0b0316b4f96c44956f6555a1604e4
 MonoImporter:
 MonoImporter:
   externalObjects: {}
   externalObjects: {}
   serializedVersion: 2
   serializedVersion: 2

+ 2 - 0
GameClient/Assets/Game/HotUpdate/Views/Card/CardDetailView.cs

@@ -51,6 +51,8 @@ namespace GFGGame
         protected override void OnShown()
         protected override void OnShown()
         {
         {
             base.OnShown();
             base.OnShown();
+            CardSProxy.GetCardInfos().Coroutine();
+
             _ui.m_listRole.selectedIndex = this._selectType;
             _ui.m_listRole.selectedIndex = this._selectType;
             _ui.m_listRole.numItems = listRoleCount;
             _ui.m_listRole.numItems = listRoleCount;
             this.UpdateCardList(_ui.m_listRole.selectedIndex);
             this.UpdateCardList(_ui.m_listRole.selectedIndex);

+ 85 - 43
GameClient/Assets/Game/HotUpdate/Views/Card/CardFosterView.cs

@@ -25,7 +25,8 @@ namespace GFGGame
         private GObject _consumeSelectItem;//选中的材料item
         private GObject _consumeSelectItem;//选中的材料item
         private int _consumeSelectIndex = 0;//0为减,1为加
         private int _consumeSelectIndex = 0;//0为减,1为加
 
 
-        private List<int> itemsNum = new List<int>();
+        private List<int> itemsCount;
+        private int[] upgradeCardItemsArr = GlobalCfgArray.globalCfg.upgradeCardItemsArr;
         //private Timer _timer;
         //private Timer _timer;
         private const float _delay = 300;
         private const float _delay = 300;
         private double _selectTimeCount = 0;//长按时间
         private double _selectTimeCount = 0;//长按时间
@@ -105,14 +106,25 @@ namespace GFGGame
 
 
             _cardScale = _ui.target.height * 0.8f / _ui.target.initHeight;
             _cardScale = _ui.target.height * 0.8f / _ui.target.initHeight;
             Input.multiTouchEnabled = false;
             Input.multiTouchEnabled = false;
-
+            this.ClearItemsCountList();
             this.UpdateCommon();
             this.UpdateCommon();
             this.UpdateNormal();
             this.UpdateNormal();
             this.UpdateCardRes();
             this.UpdateCardRes();
             this.UpdateUpLvView();
             this.UpdateUpLvView();
             _comFosterBottom.m_ctrlTab.selectedIndex = this._selectTab;
             _comFosterBottom.m_ctrlTab.selectedIndex = this._selectTab;
         }
         }
-
+        private void ClearItemsCountList()
+        {
+            if (itemsCount == null)
+            {
+                itemsCount = new List<int>();
+            }
+            itemsCount.Clear();
+            for (int i = 0; i < upgradeCardItemsArr.Length; i++)
+            {
+                itemsCount.Add(0);
+            }
+        }
         private void UpdateNormal()
         private void UpdateNormal()
         {
         {
             _comFosterBottom.m_txtName.text = _cardData.itemCfg.name;
             _comFosterBottom.m_txtName.text = _cardData.itemCfg.name;
@@ -205,7 +217,7 @@ namespace GFGGame
             {
             {
                 return;
                 return;
             }
             }
-            _comFosterBottom.m_listLvConsume.numItems = GlobalCfgArray.globalCfg.upgradeCardItemsArr.Length;
+            _comFosterBottom.m_listLvConsume.numItems = upgradeCardItemsArr.Length;
 
 
         }
         }
 
 
@@ -213,11 +225,11 @@ namespace GFGGame
         {
         {
             UI_ComConsume listItem = UI_ComConsume.Proxy(obj);
             UI_ComConsume listItem = UI_ComConsume.Proxy(obj);
             CardLvlCfg cardLvCfg = CardLvlCfgArray.Instance.GetCfg(_cardData.lv, _cardData.itemCfg.rarity);
             CardLvlCfg cardLvCfg = CardLvlCfgArray.Instance.GetCfg(_cardData.lv, _cardData.itemCfg.rarity);
-            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(GlobalCfgArray.globalCfg.upgradeCardItemsArr[index]);
+            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(upgradeCardItemsArr[index]);
             listItem.m_loaItem.url = ResPathUtil.GetIconPath(itemCfg);
             listItem.m_loaItem.url = ResPathUtil.GetIconPath(itemCfg);
             listItem.m_txtNum.text = ItemDataManager.GetItemNum(itemCfg.id).ToString();
             listItem.m_txtNum.text = ItemDataManager.GetItemNum(itemCfg.id).ToString();
             listItem.m_txtUseCount.text = "0";
             listItem.m_txtUseCount.text = "0";
-            listItem.target.data = itemCfg;
+            listItem.target.data = index;
 
 
             if (listItem.m_btnMinus.data == null)
             if (listItem.m_btnMinus.data == null)
             {
             {
@@ -234,16 +246,18 @@ namespace GFGGame
             listItem.m_loaItem.data = index;
             listItem.m_loaItem.data = index;
             UI_ComConsume.ProxyEnd();
             UI_ComConsume.ProxyEnd();
         }
         }
-        private void OnClickItemConsumsBegin(GObject obj, int index)
+        private void OnClickItemConsumsBegin(GObject obj, int type)
         {
         {
             UI_ComConsume listItem = UI_ComConsume.Proxy(obj);
             UI_ComConsume listItem = UI_ComConsume.Proxy(obj);
+            int index = (int)listItem.target.data;
+            int itemId = upgradeCardItemsArr[index];
             _consumeSelectItem = obj;
             _consumeSelectItem = obj;
-            _consumeSelectIndex = index;
-            if (index == 1)
+            _consumeSelectIndex = type;
+            if (type == 1)
             {
             {
-                if (ItemDataManager.GetItemNum((listItem.target.data as ItemCfg).id) == 0)
+                if (ItemDataManager.GetItemNum(itemId) == 0)
                 {
                 {
-                    ViewManager.Show(ViewName.APPROACH_OF_ITEM_VIEW, new object[] { (listItem.target.data as ItemCfg).id, new object[] { ViewName.CARD_FOSTER_VIEW, _cardData } });
+                    ViewManager.Show(ViewName.APPROACH_OF_ITEM_VIEW, new object[] { itemId, new object[] { ViewName.CARD_FOSTER_VIEW, _cardData } });
                 }
                 }
             }
             }
             //_timer.Start();
             //_timer.Start();
@@ -294,17 +308,19 @@ namespace GFGGame
         private bool OnClickBtnPlusLvConsume(GObject obj, bool showTips = true)
         private bool OnClickBtnPlusLvConsume(GObject obj, bool showTips = true)
         {
         {
             UI_ComConsume listItem = UI_ComConsume.Proxy(obj);
             UI_ComConsume listItem = UI_ComConsume.Proxy(obj);
-            ItemCfg itemCfg = (listItem.target.data as ItemCfg);
-
-            string count = listItem.m_txtUseCount.text;
+            // ItemCfg itemCfg = (listItem.target.data as ItemCfg);
+            int index = (int)listItem.target.data;
+            int itemId = upgradeCardItemsArr[index];
 
 
-            if (int.Parse(count) == ItemDataManager.GetItemNum(itemCfg.id))
+            if (itemsCount[index] == ItemDataManager.GetItemNum(itemId))
             {
             {
                 Timers.inst.Remove(OnTimedEvent);
                 Timers.inst.Remove(OnTimedEvent);
 
 
                 return false;
                 return false;
             }
             }
-            if (_showLv == CardRarityCfgArray.Instance.GetCfg(_cardData.itemCfg.rarity).maxCardLvl && _comFosterBottom.m_barLv.max == _comFosterBottom.m_barLv.value)
+            int maxLv = CardRarityCfgArray.Instance.GetCfg(_cardData.itemCfg.rarity).maxCardLvl;
+            int needExp = CardLvlCfgArray.Instance.GetCfg(_showLv, _cardData.itemCfg.rarity).needExp;
+            if (_showLv == maxLv && _comFosterBottom.m_barLv.value >= needExp)
             {
             {
                 Timers.inst.Remove(OnTimedEvent);
                 Timers.inst.Remove(OnTimedEvent);
 
 
@@ -314,7 +330,8 @@ namespace GFGGame
                 }
                 }
                 return false;
                 return false;
             }
             }
-            listItem.m_txtUseCount.text = (int.Parse(count) + 1).ToString();
+            itemsCount[index] = itemsCount[index] + 1;
+            listItem.m_txtUseCount.text = itemsCount[index].ToString();
             this.UpdatePreView();
             this.UpdatePreView();
             return true;
             return true;
         }
         }
@@ -323,16 +340,19 @@ namespace GFGGame
         private void OnClickBtnMinus(GObject obj)
         private void OnClickBtnMinus(GObject obj)
         {
         {
             UI_ComConsume listItem = UI_ComConsume.Proxy(obj);
             UI_ComConsume listItem = UI_ComConsume.Proxy(obj);
+            int index = (int)listItem.target.data;
+            // int itemId = upgradeCardItemsArr[index];
 
 
-            string count = listItem.m_txtUseCount.text;
+            // string count = listItem.m_txtUseCount.text;
 
 
-            if (int.Parse(count) == 0)
+            if (itemsCount[index] == 0)
             {
             {
                 Timers.inst.Remove(OnTimedEvent);
                 Timers.inst.Remove(OnTimedEvent);
 
 
                 return;
                 return;
             }
             }
-            listItem.m_txtUseCount.text = (int.Parse(count) - 1).ToString();
+            itemsCount[index] = itemsCount[index] - 1;
+            listItem.m_txtUseCount.text = itemsCount[index].ToString();
             this.UpdatePreView();
             this.UpdatePreView();
         }
         }
         private void UpdatePreView()
         private void UpdatePreView()
@@ -340,15 +360,15 @@ namespace GFGGame
             int count = 0;//消耗金币数量
             int count = 0;//消耗金币数量
             int hasExp = 0;//消耗材料提升的总经验
             int hasExp = 0;//消耗材料提升的总经验
 
 
-            for (int i = 0; i < _comFosterBottom.m_listLvConsume.numItems; i++)
+            for (int i = 0; i < itemsCount.Count; i++)
             {
             {
-                UI_ComConsume listItem = UI_ComConsume.Proxy(_comFosterBottom.m_listLvConsume.GetChildAt(i));
-
-                if (int.Parse(listItem.m_txtUseCount.text) == 0) { continue; }
+                // UI_ComConsume listItem = UI_ComConsume.Proxy(_comFosterBottom.m_listLvConsume.GetChildAt(i));
 
 
-                ItemCfg itemCfg = (listItem.target.data as ItemCfg);
-                count += itemCfg.cardUpLvGoldArr[1] * int.Parse(listItem.m_txtUseCount.text);
-                hasExp += itemCfg.cardUpLvExp * int.Parse(listItem.m_txtUseCount.text);
+                // if (int.Parse(listItem.m_txtUseCount.text) == 0) { continue; }
+                if (itemsCount[i] == 0) continue;
+                ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(upgradeCardItemsArr[i]);
+                count += itemCfg.cardUpLvGoldArr[1] * itemsCount[i];
+                hasExp += itemCfg.cardUpLvExp * itemsCount[i];
 
 
             }
             }
             _comFosterBottom.m_ComLvConsumeGold.m_txtCount.text = count.ToString();
             _comFosterBottom.m_ComLvConsumeGold.m_txtCount.text = count.ToString();
@@ -360,11 +380,36 @@ namespace GFGGame
         }
         }
         private void OnClcikBtnAll()
         private void OnClcikBtnAll()
         {
         {
-
-            for (int i = 0; i < _comFosterBottom.m_listLvConsume.numItems; i++)
-            {
-                UI_ComConsume listItem = UI_ComConsume.Proxy(_comFosterBottom.m_listLvConsume.GetChildAt(i));
-                int itemNum = int.Parse(listItem.m_txtNum.text);
+            // bool isFullLv = false;
+            // int exp = 0;
+            // for (int i = 0; i < itemsCount.Count; i++)
+            // {
+            //     UI_ComConsume listItem = UI_ComConsume.Proxy(_comFosterBottom.m_listLvConsume.GetChildAt(i));
+            //     int itemNum = ItemDataManager.GetItemNum(upgradeCardItemsArr[i]);
+            //     int maxLv = CardRarityCfgArray.Instance.GetCfg(_cardData.itemCfg.rarity).maxCardLvl;
+            //     int needExp = CardLvlCfgArray.Instance.GetCfg(maxLv, _cardData.itemCfg.rarity).needExp;
+            //     for (int j = 1; j <= itemNum; j++)
+            //     {
+            //         exp += ItemCfgArray.Instance.GetCfg(upgradeCardItemsArr[i]).cardUpLvExp;
+            //         CardDataManager.GetPreViewLvAndExp(_cardData.itemCfg.rarity, _cardData.lv, _cardData.exp, exp, out int previewLv, out int previewExp);
+            //         itemsCount[i] = j;
+            //         listItem.m_txtUseCount.text = j.ToString();
+            //         Debug.Log("previewLv:" + previewLv + "  maxLv:" + maxLv + "   previewExp:" + previewExp + "   needExp:" + needExp);
+            //         if (previewLv >= maxLv && previewExp >= needExp)
+            //         {
+            //             isFullLv = true;
+            //             break;
+            //         }
+            //     }
+            //     if (isFullLv) break;
+            // }
+            // //  listItem.m_txtUseCount.text = itemsCount[index].ToString();
+            // this.UpdatePreView();
+
+            for (int i = 0; i < itemsCount.Count; i++)
+            {
+                // UI_ComConsume listItem = UI_ComConsume.Proxy(_comFosterBottom.m_listLvConsume.GetChildAt(i));
+                int itemNum = ItemDataManager.GetItemNum(upgradeCardItemsArr[i]);
                 for (int j = 0; j < itemNum; j++)
                 for (int j = 0; j < itemNum; j++)
                 {
                 {
                     if (this.OnClickBtnPlusLvConsume(_comFosterBottom.m_listLvConsume.GetChildAt(i), false) == false)
                     if (this.OnClickBtnPlusLvConsume(_comFosterBottom.m_listLvConsume.GetChildAt(i), false) == false)
@@ -377,7 +422,7 @@ namespace GFGGame
 
 
         private void OnClickBtnUpLv()
         private void OnClickBtnUpLv()
         {
         {
-            int itemMoneyId = (UI_ComConsume.Proxy(_comFosterBottom.m_listLvConsume.GetChildAt(0)).target.data as ItemCfg).cardUpLvGoldArr[0];
+            int itemMoneyId = ItemCfgArray.Instance.GetCfg(upgradeCardItemsArr[0]).cardUpLvGoldArr[0];
             int itemMoneyNum = int.Parse(_comFosterBottom.m_ComLvConsumeGold.m_txtCount.text);
             int itemMoneyNum = int.Parse(_comFosterBottom.m_ComLvConsumeGold.m_txtCount.text);
             if (itemMoneyNum > ItemDataManager.GetItemNum(itemMoneyId))
             if (itemMoneyNum > ItemDataManager.GetItemNum(itemMoneyId))
             {
             {
@@ -392,15 +437,11 @@ namespace GFGGame
         private async void UpLv()
         private async void UpLv()
         {
         {
 
 
-            itemsNum.Clear();
+            // itemsCount.Clear();
             int allConsume = 0;
             int allConsume = 0;
-            for (int i = 0; i < _comFosterBottom.m_listLvConsume.numItems; i++)
+            for (int i = 0; i < itemsCount.Count; i++)
             {
             {
-                UI_ComConsume listItem = UI_ComConsume.Proxy(_comFosterBottom.m_listLvConsume.GetChildAt(i));
-                int itemId = (listItem.target.data as ItemCfg).id;
-                int itemNum = int.Parse(listItem.m_txtUseCount.text);
-                allConsume += itemNum;
-                itemsNum.Add(itemNum);
+                allConsume += itemsCount[i];
             }
             }
             if (allConsume == 0)
             if (allConsume == 0)
             {
             {
@@ -411,7 +452,7 @@ namespace GFGGame
             if (CardDataManager.isFullLv(_cardData.id, _cardData.lv) == false)
             if (CardDataManager.isFullLv(_cardData.id, _cardData.lv) == false)
             {
             {
                 int lv = _cardData.lv;
                 int lv = _cardData.lv;
-                bool result = await CardSProxy.UpgradeCardLvl(_cardData.id, itemsNum);
+                bool result = await CardSProxy.UpgradeCardLvl(_cardData.id, itemsCount);
                 if (result)
                 if (result)
                 {
                 {
                     if (_showLv - lv >= 1)
                     if (_showLv - lv >= 1)
@@ -421,7 +462,7 @@ namespace GFGGame
                     }
                     }
                     this.UpdateCommon();
                     this.UpdateCommon();
                     this.UpdateUpLvView();
                     this.UpdateUpLvView();
-
+                    this.ClearItemsCountList();
                 }
                 }
             }
             }
         }
         }
@@ -656,6 +697,7 @@ namespace GFGGame
             this.UpdateCommon();
             this.UpdateCommon();
             if (_comFosterBottom.m_ctrlTab.selectedIndex == 0)
             if (_comFosterBottom.m_ctrlTab.selectedIndex == 0)
             {
             {
+                this.ClearItemsCountList();
                 this.UpdateUpLvView();
                 this.UpdateUpLvView();
             }
             }
             else if (_comFosterBottom.m_ctrlTab.selectedIndex == 1)
             else if (_comFosterBottom.m_ctrlTab.selectedIndex == 1)
@@ -672,7 +714,7 @@ namespace GFGGame
             if (!CardDataManager.isFullLv(_cardData.id, _cardData.lv, false))
             if (!CardDataManager.isFullLv(_cardData.id, _cardData.lv, false))
             {
             {
                 CardLvlCfg cardLvCfg = CardLvlCfgArray.Instance.GetCfg(_showLv, _cardData.itemCfg.rarity);
                 CardLvlCfg cardLvCfg = CardLvlCfgArray.Instance.GetCfg(_showLv, _cardData.itemCfg.rarity);
-                _comFosterBottom.m_listLvConsume.numItems = GlobalCfgArray.globalCfg.upgradeCardItemsArr.Length;
+                _comFosterBottom.m_listLvConsume.numItems = upgradeCardItemsArr.Length;
             }
             }
             if (!CardDataManager.isFullStar(_cardData.id, _cardData.star, false))
             if (!CardDataManager.isFullStar(_cardData.id, _cardData.star, false))
             {
             {

BIN
GameClient/Assets/ResIn/Config/excelConfig.sqlite.bytes