Browse Source

竞技场商店兑换

zhaoyang 2 years ago
parent
commit
47adbc7c91
1 changed files with 32 additions and 4 deletions
  1. 32 4
      GameClient/Assets/Game/HotUpdate/Views/Store/ItemExchangeView.cs

+ 32 - 4
GameClient/Assets/Game/HotUpdate/Views/Store/ItemExchangeView.cs

@@ -1,4 +1,5 @@
 using System;
+using System.Threading.Tasks;
 using ET;
 using FairyGUI;
 using UI.CommonGame;
@@ -162,15 +163,42 @@ namespace GFGGame
             _buyCount = Math.Max(1, _maxCanBuy);
             UpdateView();
         }
-        private async void OnBtnExchangeClick()
+        private void OnBtnExchangeClick()
         {
             ShopCfg cfg = ShopCfgArray.Instance.GetCfg(_goodIds);
-            if (cfg.costType != CostType.RMB && ItemDataManager.GetItemNum(cfg.costId) < cfg.price)
+
+            if (cfg.costType != CostType.RMB)
             {
-                PromptController.Instance.ShowFloatTextPrompt("道具不足");
-                return;
+                int costId = cfg.costId;
+                if (cfg.menu1 == ConstStoreTabId.STORE_ARENA && cfg.menu2 != ArenaDataManager.Instance.SeasonId && cfg.menu2 != ConstStoreSubId.STORE_ARENA_ITEM)
+                {
+                    costId = cfg.oldSeasonCostId;
+                }
+                if (costId == ConstItemID.ARENA_PAST_COST && ItemDataManager.GetItemNum(costId) < cfg.price
+                && ItemDataManager.GetItemNum(costId) + ItemDataManager.GetItemNum(ConstItemID.ARENA_CUR_COST) >= cfg.price)
+                {
+                    string oldSeasonName = ItemCfgArray.Instance.GetCfg(ConstItemID.ARENA_PAST_COST).name;
+                    string curSeasonName = ItemCfgArray.Instance.GetCfg(ConstItemID.ARENA_CUR_COST).name;
+                    string strTips = string.Format("{0}不足,是否确定将{1}1:1转化为花签够买该商品?", oldSeasonName, curSeasonName);
+                    AlertUI.Show(strTips, "")
+                    .SetLeftButton(true, "否").SetRightButton(true, "是", (object data) =>
+                    {
+                        ReqBuyGoodsAsync(_goodIds);
+                    });
+                    return;
+                }
+                else if (ItemDataManager.GetItemNum(costId) < cfg.price)
+                {
+                    PromptController.Instance.ShowFloatTextPrompt("道具不足");
+                    return;
+                }
             }
 
+            ReqBuyGoodsAsync(_goodIds);
+        }
+
+        private async void ReqBuyGoodsAsync(int _goodIds)
+        {
             bool result = await ShopSProxy.ReqShopBuy(_goodIds, _buyCount);
             if (result)
             {