浏览代码

词牌升级选择界面补充

huangxiaoyue 1 年之前
父节点
当前提交
edd37b3820
共有 1 个文件被更改,包括 19 次插入12 次删除
  1. 19 12
      GameClient/Assets/Game/HotUpdate/Views/Card/CardUpLevelView.cs

+ 19 - 12
GameClient/Assets/Game/HotUpdate/Views/Card/CardUpLevelView.cs

@@ -64,11 +64,11 @@ namespace GFGGame
             AddEffect();
             ClearItemsCountList();
             _oldCanUpLevel = _cardData.lv;
-
-            _ui.m_slideUpLevel.value = 0;
+            
             _cfgMaxLevel = CardLvlCfgArray.Instance.GetCfgsByrarity(_cardData.itemCfg.rarity).Count;
             tidyData(_cfgMaxLevel, "Max");
-            tidyData(_cardData.lv);
+            _ui.m_slideUpLevel.value = 100;
+            tidyData(_countCanUpMaxLevel);  //  _cardData.lv  
             ReferViewInfo();
         }
 
@@ -91,15 +91,17 @@ namespace GFGGame
             //先计算出可以升满的最高级别
             for (int i = 0; i < upgradeCardItemsArr.Length; i++)
             {
-                if (!_listItemChose.ContainsKey(i) || _listItemChose[i] == 1) {
+                int[] cardUpLvGolds = ItemCfgArray.Instance.GetCfg(upgradeCardItemsArr[i]).cardUpLvGoldsArr[_cardData.itemCfg.rarity - 1];
+                _goldsHasNum = ItemDataManager.GetItemNum(cardUpLvGolds[0]);
+
+                if (!_listItemChose.ContainsKey(i) || _listItemChose[i] == 1)
+                {
                     int itemId = upgradeCardItemsArr[i];
                     ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(itemId);
                     int num = 0;
-                    if(setLevel> _cardData.lv)
+                    if (setLevel > _cardData.lv)
                         num = (int)Math.Ceiling((needExp - CumulativeExp) / (decimal)itemCfg.cardUpLvExp); //需要购买的数量
                     long itemNum = Math.Min(num, ItemDataManager.GetItemNum(itemId)); //物品可购买数量
-                    int[] cardUpLvGolds = ItemCfgArray.Instance.GetCfg(upgradeCardItemsArr[i]).cardUpLvGoldsArr[_cardData.itemCfg.rarity - 1];
-                    _goldsHasNum = ItemDataManager.GetItemNum(cardUpLvGolds[0]);
                     int goldNum = (int)Math.Floor((_goldsHasNum - _cumulativeGold) / (decimal)cardUpLvGolds[1]);//货币可购买数量
                     int sumNum = (int)Math.Min(goldNum, itemNum);
                     itemsCount[i] = sumNum;
@@ -111,18 +113,23 @@ namespace GFGGame
                 _countCanUpMaxLevel = _cardData.lv;
             else
                 _nowCountCanUpLevel = _cardData.lv;
+
             allNeedLevelExp = _cardData.exp + CumulativeExp;
             int lvLimit = RoleLevelCfgArray.Instance.GetCfg(RoleDataManager.lvl).cardLeverLimit;
             for (int i = _cardData.lv; i < setLevel; i++)
             {
                 int needLevelExp = CardLvlCfgArray.Instance.GetCfgByrarityAndcardLvl(_cardData.itemCfg.rarity, i).needExp;
                 allNeedLevelExp -= needLevelExp;
-                if (allNeedLevelExp >= 0 && _nowCountCanUpLevel <= lvLimit)
+                if (allNeedLevelExp >= 0)
                 {
-                    if (tidyType == "Max")
-                        _countCanUpMaxLevel += 1;
-                    else
-                        _nowCountCanUpLevel += 1;
+                    if (tidyType == "Max") { 
+                        if (_countCanUpMaxLevel < lvLimit)
+                            _countCanUpMaxLevel += 1;
+                    }
+                    else { 
+                        if (_nowCountCanUpLevel < lvLimit)
+                            _nowCountCanUpLevel += 1;
+                        }
                 }
                 else
                     break;