Browse Source

购买竞技场次数

zhaoyang 2 years ago
parent
commit
95fc1b8f5d

+ 2 - 2
FGUIProject/assets/CommonGame/BuyConfirmUI.xml

@@ -2,8 +2,8 @@
 <component size="962,536">
   <displayList>
     <component id="n0_ds62" name="bg" src="si5ztih" fileName="components/ComBg.xml" pkg="mk0fwx0x" xy="0,0" size="962,536"/>
-    <text id="n3_ds62" name="txtNeed" xy="344,124" pivot="0.5,0" size="279,56" fontSize="42" color="#876e54" text="还需要购买7个"/>
-    <text id="n4_ds62" name="txtNum" xy="299,299" pivot="0.5,0" size="369,46" fontSize="34" color="#a0845c" text="是否花费700鲛绡购买?">
+    <text id="n3_ds62" name="txtMessage" xy="346,124" pivot="0.5,0" size="274,56" fontSize="42" color="#876e54" text="还需要购买7个"/>
+    <text id="n4_ds62" name="txtTips" xy="306,299" pivot="0.5,0" size="355,46" fontSize="34" color="#a0845c" text="是否花费700鲛绡购买?">
       <relation target="n1_ds62" sidePair="bottom-top"/>
     </text>
     <component id="n2_ds62" name="btnCancel" src="r9ritjh" fileName="components/Button18.xml" pkg="mk0fwx0x" xy="88,379">

+ 21 - 21
GameClient/Assets/Game/HotUpdate/Controller/BuyConfirmController.cs

@@ -5,28 +5,28 @@ namespace GFGGame
 
     public class BuyConfirmController : SingletonBase<BuyConfirmController>
     {
-        private static BuyConfirmView _buyConfirmView;
+        //     private static BuyConfirmView _buyConfirmView;
 
-        public static void Show(int itemId, int count, Action onSuccess = null, string message = "")
-        {
-            if (_buyConfirmView == null)
-            {
-                _buyConfirmView = new BuyConfirmView();
-            }
-            _buyConfirmView.SetParams(itemId, count, onSuccess, message);
-            _buyConfirmView.Show();
-        }
+        //     public static void Show(string message, string tips = "", Action onBtnSureSuccess = null, bool hideView = true)
+        //     {
+        //         if (_buyConfirmView == null)
+        //         {
+        //             _buyConfirmView = new BuyConfirmView();
+        //         }
+        // _buyConfirmView.SetParams(message, tips, onBtnSureSuccess, hideView);
+        // _buyConfirmView.Show();
+        //     }
 
-        public static void hide()
-        {
-            if (_buyConfirmView != null)
-            {
-                _buyConfirmView.Hide();
-            }
-        }
-        public static void Dispose()
-        {
-            _buyConfirmView = null;
-        }
+        //     public static void hide()
+        //     {
+        //         if (_buyConfirmView != null)
+        //         {
+        //             _buyConfirmView.Hide();
+        //         }
+        //     }
+        //     public static void Dispose()
+        //     {
+        //         _buyConfirmView = null;
+        //     }
     }
 }

+ 6 - 6
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/CommonGame/UI_BuyConfirmUI.cs

@@ -8,8 +8,8 @@ namespace UI.CommonGame
     {
         public GComponent target;
         public GComponent m_bg;
-        public GTextField m_txtNeed;
-        public GTextField m_txtNum;
+        public GTextField m_txtMessage;
+        public GTextField m_txtTips;
         public GButton m_btnCancel;
         public GButton m_btnSure;
         public const string URL = "ui://eg2y0ldpds629h";
@@ -60,16 +60,16 @@ namespace UI.CommonGame
         private void Init(GComponent comp)
         {
             m_bg = (GComponent)comp.GetChild("bg");
-            m_txtNeed = (GTextField)comp.GetChild("txtNeed");
-            m_txtNum = (GTextField)comp.GetChild("txtNum");
+            m_txtMessage = (GTextField)comp.GetChild("txtMessage");
+            m_txtTips = (GTextField)comp.GetChild("txtTips");
             m_btnCancel = (GButton)comp.GetChild("btnCancel");
             m_btnSure = (GButton)comp.GetChild("btnSure");
         }
         public void Dispose(bool disposeTarget = false)
         {
             m_bg = null;
-            m_txtNeed = null;
-            m_txtNum = null;
+            m_txtMessage = null;
+            m_txtTips = null;
             m_btnCancel = null;
             m_btnSure = null;
             if(disposeTarget && target != null)

+ 3 - 1
GameClient/Assets/Game/HotUpdate/ServerProxy/ArenaSproxy.cs

@@ -161,7 +161,7 @@ namespace GFGGame
         }
 
         //购买挑战次数
-        public static async ETTask ReqBuyArenaFightTimes()
+        public static async ETTask<bool> ReqBuyArenaFightTimes()
         {
 
             S2C_BuyArenaFightTimes response = null;
@@ -171,8 +171,10 @@ namespace GFGGame
                 if (response.Error == ErrorCode.ERR_Success)
                 {
                     PromptController.Instance.ShowFloatTextPrompt("购买成功");
+                    return true;
                 }
             }
+            return false;
         }
 
 

+ 3 - 16
GameClient/Assets/Game/HotUpdate/Views/Arena/ArenaView.cs

@@ -145,10 +145,7 @@ namespace GFGGame
         {
             _ui.m_c2.selectedIndex = 0;
         }
-        // private void OnBtnRuleClick()
-        // {
-        //     ViewManager.Show<RuleView>(300001);
-        // }
+
         private void OnBtnBackClick()
         {
             GuideController.TryCompleteGuideIndex(ConstGuideId.ARENA_OPEN, 12);
@@ -183,19 +180,9 @@ namespace GFGGame
                 PromptController.Instance.ShowFloatTextPrompt("今日次数购买已达上限");
                 return;
             }
-            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(GlobalCfgArray.globalCfg.costIdBuyFightTimes);
-            AlertUI.Show(string.Format("是否使用{0}{1}增加1次飞花令挑战次数?", GlobalCfgArray.globalCfg.costNumBuyFightTimes, itemCfg.name),
-            string.Format("(今天已购买{0}/{1}次)", GlobalCfgArray.globalCfg.limitDailyBuyFightTimes - RoleDataManager.ArenaBuyFightTimes, GlobalCfgArray.globalCfg.limitDailyBuyFightTimes))
-            .SetLeftButton(true, "取消").SetRightButton(true, "确定", (object data) =>
-            {
-                if (ItemDataManager.GetItemNum(GlobalCfgArray.globalCfg.costIdBuyFightTimes) < GlobalCfgArray.globalCfg.costNumBuyFightTimes)
-                {
-                    PromptController.Instance.ShowFloatTextPrompt("消耗不足");
-                    return;
-                }
-                ArenaSproxy.ReqBuyArenaFightTimes().Coroutine();
-            });
+            ViewManager.Show<BuyConfirmView>();
         }
+
         private async void OnBtnRefreshClick()
         {
             if (_dataManager.IsArenaClearing)

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

@@ -8,14 +8,7 @@ namespace GFGGame
     {
         private UI_BuyConfirmUI _ui;
 
-        private int _itemId;
-        private int _count;//本次购买次数
-        private int _buyTimes = 0;//已购次数
 
-
-        private Action _onSuccess;
-        private int _maxTimes = 0;
-        private string _message = "";
         public override void Dispose()
         {
             if (_ui != null)
@@ -23,7 +16,6 @@ namespace GFGGame
                 _ui.Dispose();
                 _ui = null;
             }
-            BuyConfirmController.Dispose();
             base.Dispose();
         }
 
@@ -39,89 +31,40 @@ namespace GFGGame
             _ui.m_btnSure.onClick.Add(OnClickBtnSure);
             _ui.m_btnCancel.onClick.Add(OnClickBtnCancel);
         }
-        public void SetParams(int itemId, int count, Action onSuccess, string message = "")
+        protected override void AddEventListener()
         {
-            _itemId = itemId;
-            _count = count;
-
-            _onSuccess = onSuccess;
-            _message = message;
-
+            base.AddEventListener();
+            EventAgent.AddEventListener(ConstMessage.NUMERIC_CHANGE, UpdateView);
         }
         protected override void OnShown()
         {
             base.OnShown();
             UpdateView();
         }
+        protected override void RemoveEventListener()
+        {
+            base.RemoveEventListener();
+            EventAgent.RemoveEventListener(ConstMessage.NUMERIC_CHANGE, UpdateView);
+        }
         private void UpdateView()
         {
-            _buyTimes = ItemDataManager.GetItemExchangeTimes(_itemId);
-
-            ItemExchangeCfgArray.Instance.GetMoneyIdAndNum(_itemId, _buyTimes, _count, out int costId, out int coustNum, out int buyNum);
-            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(_itemId);
-            ItemCfg costCfg = ItemCfgArray.Instance.GetCfg(costId);
-            _ui.m_txtNeed.text = string.Format("是否花费{0}{1} 购买{2}{3}", coustNum, costCfg.name, buyNum, itemCfg.name);
+            ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(GlobalCfgArray.globalCfg.costIdBuyFightTimes);
 
-            _ui.m_txtNum.text = "";
-            _maxTimes = ItemExchangeCfgArray.Instance.GetCfg(_itemId).maxLimit;
-            if (_maxTimes != 0)
-            {
-                _ui.m_txtNum.text = string.Format("今日剩余购买次数{0}/{1}", _maxTimes - _buyTimes, _maxTimes);
-            }
-            if (_message != "")
-            {
-                _ui.m_txtNum.text = _message;
-            }
+            _ui.m_txtMessage.text = string.Format("是否使用{0}{1}增加1次飞花令挑战次数?", GlobalCfgArray.globalCfg.costNumBuyFightTimes, itemCfg.name);
+            _ui.m_txtTips.text = string.Format("(今天已购买{0}/{1}次)", GlobalCfgArray.globalCfg.limitDailyBuyFightTimes - RoleDataManager.ArenaBuyFightTimes, GlobalCfgArray.globalCfg.limitDailyBuyFightTimes);
         }
-        private async void OnClickBtnSure()
+        private void OnClickBtnSure()
         {
-            if (_maxTimes > 0 && (_buyTimes + _count) > _maxTimes)
-            {
-                PromptController.Instance.ShowFloatTextPrompt("购买次数不足");
-                return;
-            }
-            ItemExchangeCfgArray.Instance.GetMoneyIdAndNum(_itemId, _buyTimes, _count, out int costId, out int coustNum, out int buyNum);
-
-            Debug.Log(costId + "数量:" + ItemDataManager.GetItemNum(costId));
-            if (ItemDataManager.GetItemNum(costId) < coustNum)
+            if (ItemDataManager.GetItemNum(GlobalCfgArray.globalCfg.costIdBuyFightTimes) < GlobalCfgArray.globalCfg.costNumBuyFightTimes)
             {
-                ItemCfg costCfg = ItemCfgArray.Instance.GetCfg(costId);
-                if (_itemId == ConstItemID.DIAMOND_PURPLE)
-                {
-                    PromptController.Instance.ShowFloatTextPrompt(string.Format("{0}不足,请前往商城选购", costCfg.name));
-
-                }
-                else
-                {
-                    AlertUI.Show(costCfg.name + "不足,是否前往购买?").SetLeftButton(true).SetRightButton(true, "确认", (AlertWindow.AlertCallback)((object data) =>
-                    {
-                        long costNeedCount = coustNum - ItemDataManager.GetItemNum(costId);
-                        BuyItemConteoller.Show(costId, costNeedCount, ConstBuyType.TYPE_ITEM, null, true, true, GameConst.MAX_COUNT_TO_BUY_DIAMOND_RED);
-                    }));
-                    OnClickBtnCancel();
-                }
-
+                PromptController.Instance.ShowFloatTextPrompt("消耗不足");
                 return;
             }
-
-            bool result = await ItemExchangeSProxy.ItemExchange(_itemId, _count);
-
-            if (result)
-            {
-                PromptController.Instance.ShowFloatTextPrompt("购买成功", MessageType.SUCCESS);
-                if (_onSuccess != null)
-                {
-                    _onSuccess();
-                }
-            }
-
-            this.Hide();
+            ArenaSproxy.ReqBuyArenaFightTimes().Coroutine();
         }
         private void OnClickBtnCancel()
         {
             this.Hide();
         }
-
     }
-
 }

BIN
GameClient/Assets/ResIn/UI/CommonGame/CommonGame_fui.bytes