Browse Source

物品兑换

zhaoyang 3 years ago
parent
commit
b17cd9410b

+ 1 - 1
GameClient/Assets/Game/HotUpdate/Views/CommonGame/BuyConfirmView.cs

@@ -81,7 +81,7 @@ namespace GFGGame
             if (ItemDataManager.GetItemNum(costId) < coustNum)
             {
                 ItemCfg costCfg = ItemCfgArray.Instance.GetCfg(costId);
-                if (_itemId == ConstItemID.GOLD)
+                if (_itemId == ConstItemID.DIAMOND_PURPLE)
                 {
                     PromptController.Instance.ShowFloatTextPrompt(string.Format("{0}不足,请前往商城选购", costCfg.name));
 

+ 44 - 40
GameClient/Assets/Game/HotUpdate/Views/CommonGame/BuyCountView.cs

@@ -2,6 +2,7 @@ using UI.CommonGame;
 using System;
 using FairyGUI;
 using System.Collections.Generic;
+using UnityEngine;
 
 namespace GFGGame
 {
@@ -83,7 +84,7 @@ namespace GFGGame
         /// 
         /// </summary>
         /// <param name="buyId">购买物品对应的编号,非必须为物品Id</param>
-        /// <param name="minBuyCount">最低兑换数</param>
+        /// <param name="minBuyCount">最低兑换数</param>
         /// <param name="buyType">购买类型,对应ConstBuyType</param>
         /// <param name="shopType">商店类型,仅buytype为TYPE_SHOP时有用</param>
         /// <param name="onSuccess"></param>
@@ -154,44 +155,7 @@ namespace GFGGame
             SetBtnState();
         }
 
-        private void OnTouchPlusBegin()
-        {
-            _selectTimeCount = 0;
-            _consumeSelectIndex = 1;
-            Timers.inst.Add(_delay / 1000, 0, OnTimedEvent);
-        }
-        private void OnTouchMinusBegin()
-        {
-            _selectTimeCount = 0;
-            _consumeSelectIndex = 0;
-            Timers.inst.Add(_delay / 1000, 0, OnTimedEvent);
-        }
-        private void OnTimedEvent(object param)
-        {
-            _selectTimeCount += _delay;
 
-            if (_selectTimeCount >= longpress)
-            {
-                if (_consumeSelectIndex == 0)
-                {
-                    if (!CommonUtil.Instance.CheckPointIsOnComponent(_ui.m_btnMinus, CommonUtil.Instance.GetMouseV2Point()))
-                    {
-                        Timers.inst.Remove(OnTimedEvent);
-                        return;
-                    }
-                    this.OnClickBtnMinus();
-                }
-                else
-                {
-                    if (!CommonUtil.Instance.CheckPointIsOnComponent(_ui.m_btnPlus, CommonUtil.Instance.GetMouseV2Point()))
-                    {
-                        Timers.inst.Remove(OnTimedEvent);
-                        return;
-                    }
-                    this.OnClickBtnPlus();
-                }
-            }
-        }
         private void OnClickBtnAll()
         {
             _count = _maxCanBuy;
@@ -201,7 +165,8 @@ namespace GFGGame
         {
             if (_count < _maxCanBuy)
             {
-                _count += 1;
+                ItemExchangeCfg itemExchangeCfg = ItemExchangeCfgArray.Instance.GetCfg(_itemId);
+                _count += itemExchangeCfg != null ? itemExchangeCfg.num : 1;
             }
             UpdateCost();
         }
@@ -313,13 +278,52 @@ namespace GFGGame
             }
             else if (_buyType == ConstBuyType.TYPE_ITEM)
             {
+                ItemExchangeCfg itemExchangeCfg = ItemExchangeCfgArray.Instance.GetCfg(_itemId);
+                int _exchangeCount = (int)Math.Ceiling(Convert.ToDecimal(count) / Convert.ToDecimal(itemExchangeCfg.num));
 
-                ItemExchangeCfgArray.Instance.GetMoneyIdAndNum(_itemId, ItemDataManager.GetItemExchangeTimes(_itemId), count, out _costId, out _costNum, out _buyNum);
+                ItemExchangeCfgArray.Instance.GetMoneyIdAndNum(_itemId, ItemDataManager.GetItemExchangeTimes(_itemId), _exchangeCount, out _costId, out _costNum, out _buyNum);
 
             }
         }
 
+        private void OnTouchPlusBegin()
+        {
+            _selectTimeCount = 0;
+            _consumeSelectIndex = 1;
+            Timers.inst.Add(_delay / 1000, 0, OnTimedEvent);
+        }
+        private void OnTouchMinusBegin()
+        {
+            _selectTimeCount = 0;
+            _consumeSelectIndex = 0;
+            Timers.inst.Add(_delay / 1000, 0, OnTimedEvent);
+        }
+        private void OnTimedEvent(object param)
+        {
+            _selectTimeCount += _delay;
 
+            if (_selectTimeCount >= longpress)
+            {
+                if (_consumeSelectIndex == 0)
+                {
+                    if (!CommonUtil.Instance.CheckPointIsOnComponent(_ui.m_btnMinus, CommonUtil.Instance.GetMouseV2Point()))
+                    {
+                        Timers.inst.Remove(OnTimedEvent);
+                        return;
+                    }
+                    this.OnClickBtnMinus();
+                }
+                else
+                {
+                    if (!CommonUtil.Instance.CheckPointIsOnComponent(_ui.m_btnPlus, CommonUtil.Instance.GetMouseV2Point()))
+                    {
+                        Timers.inst.Remove(OnTimedEvent);
+                        return;
+                    }
+                    this.OnClickBtnPlus();
+                }
+            }
+        }
         public void Reset()
         {
             _buyId = 0;