何晓捷 2 жил өмнө
parent
commit
5f8188ce2a

+ 2 - 2
FGUIProject/assets/EnduringGiftBox/SpecialOfferGiftBoxUI.xml

@@ -13,7 +13,7 @@
       <item/>
     </list>
     <image id="n19_yjmk" name="back" src="yjmk2s" fileName="images/back2.png" xy="494,1098"/>
-    <image id="n20_yjmk" name="n20" src="yjmk2k" fileName="images/xsqg_fy_an.png" xy="933,488"/>
-    <image id="n21_yjmk" name="n21" src="yjmk2o" fileName="images/xsqg_fy_an_2.png" xy="-22,483"/>
+    <image id="n20_yjmk" name="btnNext" src="yjmk2k" fileName="images/xsqg_fy_an.png" xy="933,488"/>
+    <image id="n21_yjmk" name="btnUp" src="yjmk2o" fileName="images/xsqg_fy_an_2.png" xy="-22,483"/>
   </displayList>
 </component>

+ 0 - 0
FGUIProject/assets/EnduringGiftBox/components/ComSpecialOfferGiftBox.xml → FGUIProject/assets/EnduringGiftBox/components/ComSpecialOfferGiftBoxItem.xml


+ 1 - 1
FGUIProject/assets/EnduringGiftBox/package.xml

@@ -77,7 +77,7 @@
     <image id="yjmk34" name="text.png" path="/images/"/>
     <image id="yjmk35" name="thing.png" path="/images/"/>
     <image id="yjmk36" name="time_kuang.png" path="/images/"/>
-    <component id="yjmk37" name="ComSpecialOfferGiftBox.xml" path="/components/" exported="true"/>
+    <component id="yjmk37" name="ComSpecialOfferGiftBoxItem.xml" path="/components/" exported="true"/>
     <image id="yjmk39" name="wpk_db_1_da.png" path="/images/"/>
     <image id="yjmk3a" name="wpk_sz_db_1.png" path="/images/"/>
     <image id="yjmk3b" name="an_pink.png" path="/images/"/>

+ 51 - 51
GameClient/Assets/Game/HotUpdate/Data/LimitedTimeGiftBoxDataManager.cs

@@ -11,11 +11,6 @@ namespace GFGGame
 {
     public class LimitedTimeGiftBoxDataManager : SingletonBase<LimitedTimeGiftBoxDataManager>
     {
-        //测试数据定义--等之后搞好活动有效期组件之后,再替换成真实数据 <活动id,活动结束时间戳精确到秒> --假设这个就是我排好序的活动列表
-        private Dictionary<int, ActivityOpenData> _activityOpenEndTimeDic = new Dictionary<int, ActivityOpenData>();
-
-        public Dictionary<int, ActivityOpenData> ActivityOpenEndTimeDic => _activityOpenEndTimeDic;
-
         //列表数据3--等级条件的数据
         private List<LimitedTimeGiftBoxItemData> _ltgGbItemData3 = new List<LimitedTimeGiftBoxItemData>();
         public List<LimitedTimeGiftBoxItemData> LtgGbItemData3 => _ltgGbItemData3;
@@ -47,78 +42,82 @@ namespace GFGGame
         public void UpLtgGbItemData3()
         {
             _ltgGbItemData3.Clear();
-            foreach (var itemKv in _activityOpenEndTimeDic)
+            foreach (ActivityInfo activityInfo in ActivityGlobalDataManager.Instance.GetActivityInfoByType(
+                         ConstActivityType.ActLimitGiftShByLevel))
             {
-                if (itemKv.Value.ActivityEndTime >= TimeInfo.Instance.ServerNow())
+                if (activityInfo.endTime >= TimeInfo.Instance.ServerNow())
                 {
-                    ActivityOpenCfg activityOpenCfg = itemKv.Value.ActivityOpenCfgData;
-                    //判断是否是类型3的数据
-                    if (activityOpenCfg.type == ConstActivityType.ActLimitGiftShByLevel)
+                    ActivityOpenCfg activityOpenCfg = ActivityOpenCfgArray.Instance.GetCfg(activityInfo.activityId);
+                    var paramsArr = activityOpenCfg.paramsArr;
+                    Array.Sort(paramsArr);
+                    foreach (var shopCfgId in paramsArr)
                     {
-                        var paramsArr = activityOpenCfg.paramsArr;
-                        Array.Sort(paramsArr);
-                        foreach (var shopCfgId in paramsArr)
-                        {
-                            ShopCfg shopCfg = ShopCfgArray.Instance.GetCfg(shopCfgId);
+                        ShopCfg shopCfg = ShopCfgArray.Instance.GetCfg(shopCfgId);
 
-                            if (shopCfg == null)
-                            {
-                                Log.Error("shopCfg is null");
-                                continue;
-                            }
+                        if (shopCfg == null)
+                        {
+                            Log.Error("shopCfg is null");
+                            continue;
+                        }
 
-                            LimitedTimeGiftBoxItemData ltgGbItemData =
-                                _ltgGbItemData3.FirstOrDefault(a => a.IndexType == shopCfg.menu2);
-                            if (ltgGbItemData != null)
+                        LimitedTimeGiftBoxItemData ltgGbItemData =
+                            _ltgGbItemData3.FirstOrDefault(a => a.IndexType == shopCfg.menu2);
+                        if (ltgGbItemData != null)
+                        {
+                            if (ltgGbItemData.ShopCfgIds != null)
                             {
-                                if (ltgGbItemData.ShopCfgIds != null)
+                                if (ltgGbItemData.ShopCfgIds.Count < 3)
                                 {
-                                    if (ltgGbItemData.ShopCfgIds.Count < 3)
-                                    {
-                                        ltgGbItemData.ShopCfgIds.Add(shopCfgId);
-                                    }
+                                    ltgGbItemData.ShopCfgIds.Add(shopCfgId);
                                 }
-                                else
-                                {
-                                    ltgGbItemData.ShopCfgIds = new List<int> { shopCfgId };
-                                }
-
-                                ltgGbItemData.EndTime = itemKv.Value.ActivityEndTime;
-                                _ltgGbItemData3.Add(ltgGbItemData);
                             }
                             else
                             {
-                                ltgGbItemData = new LimitedTimeGiftBoxItemData
-                                {
-                                    IndexType = shopCfg.menu2,
-                                    ShopCfgIds = new List<int> { shopCfgId },
-                                    EndTime = itemKv.Value.ActivityEndTime
-                                };
-
-                                _ltgGbItemData3.Add(ltgGbItemData);
+                                ltgGbItemData.ShopCfgIds = new List<int> { shopCfgId };
                             }
+
+                            ltgGbItemData.EndTime = activityInfo.endTime;
+                            _ltgGbItemData3.Add(ltgGbItemData);
+                        }
+                        else
+                        {
+                            ltgGbItemData = new LimitedTimeGiftBoxItemData
+                            {
+                                IndexType = shopCfg.menu2,
+                                ShopCfgIds = new List<int> { shopCfgId },
+                                EndTime = activityInfo.endTime
+                            };
+
+                            _ltgGbItemData3.Add(ltgGbItemData);
                         }
                     }
                 }
             }
 
+            //排序
+            foreach (var item in _ltgGbItemData3)
+            {
+                item.ShopCfgIds = item.ShopCfgIds.OrderBy(id => id).ToList();
+            }
+
             _ltgGbItemData3 = _ltgGbItemData3.OrderBy(a => a.IndexType).ToList();
         }
 
         public void UpLtgGbItemData4()
         {
             _ltgGbItemData4.Clear();
-            foreach (var itemKv in _activityOpenEndTimeDic)
+            foreach (ActivityInfo activityInfo in ActivityGlobalDataManager.Instance.GetActivityInfoByType(
+                         ConstActivityType.ActLimitGiftShByLevel))
             {
-                if (itemKv.Value.ActivityEndTime >= TimeInfo.Instance.ServerNow())
+                if (activityInfo.endTime >= TimeInfo.Instance.ServerNow())
                 {
-                    ActivityOpenCfg activityOpenCfg = itemKv.Value.ActivityOpenCfgData;
+                    ActivityOpenCfg activityOpenCfg = ActivityOpenCfgArray.Instance.GetCfg(activityInfo.activityId);
                     //判断是否是类型4的数据
                     if (activityOpenCfg.type == ConstActivityType.ActLimitGiftYxByLevel)
                     {
                         foreach (var shopCfgId in activityOpenCfg.paramsArr)
                         {
-                            FillData(_ltgGbItemData4, shopCfgId, itemKv.Value.ActivityEndTime);
+                            FillData(_ltgGbItemData4, shopCfgId, activityInfo.endTime);
                         }
                     }
                 }
@@ -130,15 +129,16 @@ namespace GFGGame
         public void UpLtgGbItemData5()
         {
             _ltgGbItemData5.Clear();
-            foreach (var itemKv in _activityOpenEndTimeDic)
+            foreach (ActivityInfo activityInfo in ActivityGlobalDataManager.Instance.GetActivityInfoByType(
+                         ConstActivityType.ActLimitGiftShByLevel))
             {
-                if (itemKv.Value.ActivityEndTime >= TimeInfo.Instance.ServerNow())
+                if (activityInfo.endTime >= TimeInfo.Instance.ServerNow())
                 {
-                    ActivityOpenCfg activityOpenCfg = itemKv.Value.ActivityOpenCfgData;
+                    ActivityOpenCfg activityOpenCfg = ActivityOpenCfgArray.Instance.GetCfg(activityInfo.activityId);
                     //判断是否是类型4的数据
                     if (activityOpenCfg.type == ConstActivityType.ActLimitGiftYxByTime)
                     {
-                        FillData(_ltgGbItemData5, activityOpenCfg.paramsArr[0], itemKv.Value.ActivityEndTime);
+                        FillData(_ltgGbItemData5, activityOpenCfg.paramsArr[0], activityInfo.endTime);
                     }
                 }
             }

+ 3 - 3
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox/UI_BtnBuyPink.cs

@@ -7,8 +7,8 @@ namespace UI.EnduringGiftBox
     public partial class UI_BtnBuyPink
     {
         public GButton target;
-        public GImage m_bagPink;
         public GImage m_bagGrey;
+        public GImage m_bagPink;
         public GTextField m_txtNewPrice;
         public GTextField m_txtOldPrice;
         public GLoader m_loaIcon;
@@ -59,16 +59,16 @@ namespace UI.EnduringGiftBox
 
         private void Init(GComponent comp)
         {
-            m_bagPink = (GImage)comp.GetChild("bagPink");
             m_bagGrey = (GImage)comp.GetChild("bagGrey");
+            m_bagPink = (GImage)comp.GetChild("bagPink");
             m_txtNewPrice = (GTextField)comp.GetChild("txtNewPrice");
             m_txtOldPrice = (GTextField)comp.GetChild("txtOldPrice");
             m_loaIcon = (GLoader)comp.GetChild("loaIcon");
         }
         public void Dispose(bool disposeTarget = false)
         {
-            m_bagPink = null;
             m_bagGrey = null;
+            m_bagPink = null;
             m_txtNewPrice = null;
             m_txtOldPrice = null;
             m_loaIcon = null;

+ 7 - 7
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox/UI_ComSpecialOfferGiftBox.cs → GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox/UI_ComSpecialOfferGiftBoxItem.cs

@@ -4,7 +4,7 @@ using FairyGUI;
 
 namespace UI.EnduringGiftBox
 {
-    public partial class UI_ComSpecialOfferGiftBox
+    public partial class UI_ComSpecialOfferGiftBoxItem
     {
         public GComponent target;
         public GImage m_nczlb;
@@ -16,12 +16,12 @@ namespace UI.EnduringGiftBox
         public GList m_list;
         public const string URL = "ui://bdi1qe15yjmk37";
         public const string PACKAGE_NAME = "EnduringGiftBox";
-        public const string RES_NAME = "ComSpecialOfferGiftBox";
-        private static UI_ComSpecialOfferGiftBox _proxy;
+        public const string RES_NAME = "ComSpecialOfferGiftBoxItem";
+        private static UI_ComSpecialOfferGiftBoxItem _proxy;
 
-        public static UI_ComSpecialOfferGiftBox Create(GObject gObject = null)
+        public static UI_ComSpecialOfferGiftBoxItem Create(GObject gObject = null)
         {
-            var ui = new UI_ComSpecialOfferGiftBox();
+            var ui = new UI_ComSpecialOfferGiftBoxItem();
             if(gObject == null)
             	ui.target =  (GComponent)UIPackage.CreateObject(PACKAGE_NAME, RES_NAME);
             else
@@ -30,11 +30,11 @@ namespace UI.EnduringGiftBox
             return ui;
         }
 
-        public static UI_ComSpecialOfferGiftBox Proxy(GObject gObject = null)
+        public static UI_ComSpecialOfferGiftBoxItem Proxy(GObject gObject = null)
         {
             if(_proxy == null)
             {
-                _proxy = new UI_ComSpecialOfferGiftBox();
+                _proxy = new UI_ComSpecialOfferGiftBoxItem();
             }
             var ui = _proxy;
             if(gObject == null)

+ 1 - 1
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox/UI_ComSpecialOfferGiftBox.cs.meta → GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox/UI_ComSpecialOfferGiftBoxItem.cs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: c3a5e0732ed83d842a534ebdc6c0a2cb
+guid: e41dcac9e35c48f41a8d78b5af67e5a4
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2

+ 6 - 0
GameClient/Assets/Game/HotUpdate/FairyGUI/GenCode/EnduringGiftBox/UI_SpecialOfferGiftBoxUI.cs

@@ -10,6 +10,8 @@ namespace UI.EnduringGiftBox
         public GTextField m_txtResidueTime;
         public GList m_list;
         public GImage m_back;
+        public GImage m_btnNext;
+        public GImage m_btnUp;
         public const string URL = "ui://bdi1qe15yjmk28";
         public const string PACKAGE_NAME = "EnduringGiftBox";
         public const string RES_NAME = "SpecialOfferGiftBoxUI";
@@ -60,12 +62,16 @@ namespace UI.EnduringGiftBox
             m_txtResidueTime = (GTextField)comp.GetChild("txtResidueTime");
             m_list = (GList)comp.GetChild("list");
             m_back = (GImage)comp.GetChild("back");
+            m_btnNext = (GImage)comp.GetChild("btnNext");
+            m_btnUp = (GImage)comp.GetChild("btnUp");
         }
         public void Dispose(bool disposeTarget = false)
         {
             m_txtResidueTime = null;
             m_list = null;
             m_back = null;
+            m_btnNext = null;
+            m_btnUp = null;
             if(disposeTarget && target != null)
             {
                 target.RemoveFromParent();

+ 4 - 3
GameClient/Assets/Game/HotUpdate/Views/EnduringGiftBox/RushSaleGiftBoxView.cs

@@ -24,7 +24,7 @@ namespace GFGGame
         {
             base.OnInit();
 
-            packageName = UI_EnduringGiftBoxUI.PACKAGE_NAME;
+            packageName = UI_RushSaleGiftBoxUI.PACKAGE_NAME;
             _ui = UI_RushSaleGiftBoxUI.Create();
             this.viewCom = _ui.target;
             this.viewCom.Center();
@@ -131,11 +131,12 @@ namespace GFGGame
             }
 
             string mTxtNewPrice;
+            _ui.m_txtLrc.text = string.Empty;
             _ui.m_btnBuyPink.m_loaIcon.visible = false;
             _ui.m_btnBuyPink.m_txtOldPrice.text = shopCfg.originalPrice.ToString();
             if (shopCfg.costType == CostType.ITEM)
             {
-                //货币  
+                //货币
                 ItemCfg costCfg = ItemCfgArray.Instance.GetCfg(shopCfg.costId);
                 mTxtNewPrice = shopCfg.price.ToString();
                 _ui.m_btnBuyPink.m_loaIcon.visible = true;
@@ -147,6 +148,7 @@ namespace GFGGame
                 mTxtNewPrice = $"{shopCfg.price}元";
                 _ui.m_btnBuyPink.m_txtNewPrice.align = AlignType.Left;
                 _ui.m_btnBuyPink.m_txtNewPrice.x = 90;
+                _ui.m_txtLrc.text = $"可获得{shopCfg.price * 10}充值经验";
             }
             else
             {
@@ -163,7 +165,6 @@ namespace GFGGame
             _ui.m_txtUrc.text = mTxtUrc;
             _ui.m_comDiscount.m_txtDiscountNum.text =
                 NumberUtil.CalculateDiscount(shopCfg.originalPrice, shopCfg.price);
-            _ui.m_txtLrc.text = $"可获得{shopCfg.price * 10}充值经验";
             _ui.m_btnBuyPink.m_txtNewPrice.text = mTxtNewPrice;
             _ui.m_btnBuyPink.target.data = shopCfg;
 

+ 186 - 3
GameClient/Assets/Game/HotUpdate/Views/EnduringGiftBox/SpecialOfferGiftBoxView.cs

@@ -14,10 +14,22 @@ namespace GFGGame
     {
         private UI_SpecialOfferGiftBoxUI _ui;
 
+        private int _pageIndex; //当前页码,需要显示的数据的索引
 
         protected override void OnInit()
         {
             base.OnInit();
+
+            packageName = UI_SpecialOfferGiftBoxUI.PACKAGE_NAME;
+            _ui = UI_SpecialOfferGiftBoxUI.Create();
+            this.viewCom = _ui.target;
+            this.viewCom.Center();
+            this.modal = true;
+            viewAnimationType = EnumViewAnimationType.None;
+
+            _ui.m_back.onClick.Add(OnBtnCancelClick);
+            _ui.m_btnUp.onClick.Add(OnBtnPreviousClick);
+            _ui.m_btnNext.onClick.Add(OnBtnNextClick);
         }
 
         public override void Dispose()
@@ -35,8 +47,9 @@ namespace GFGGame
         {
             base.OnShown();
             AddEffect();
+            InitPageInex();
 
-            UpdateView();
+            UpdateView(ListUtil.NavigateType.None);
         }
 
         protected override void AddEventListener()
@@ -53,16 +66,186 @@ namespace GFGGame
         {
         }
 
-        private void UpdateView()
+        //实例化索引
+        private void InitPageInex()
         {
+            _pageIndex = 0;
+        }
+
+        private void UpdateView(ListUtil.NavigateType type)
+        {
+            //筛选一条数据用来界面渲染
+            var list = LimitedTimeGiftBoxDataManager.Instance.LtgGbItemData3;
+            var data = ListUtil.Navigate(list, type, _pageIndex, out int newIndex);
+            _pageIndex = newIndex;
+            
+            _ui.m_txtResidueTime.text = TimeUtil.GetTimeLeft(TimeInfo.Instance.ServerNow(), data.EndTime);
+            _ui.m_list.data = data.ShopCfgIds;
+            _ui.m_list.itemRenderer = ListItemRender;
+            _ui.m_list.numItems = data.ShopCfgIds.Count;
+            _ui.m_list.visible = true;
         }
 
         private void ListItemRender(int index, GObject obj)
         {
+            UI_ComSpecialOfferGiftBoxItem uiItem = UI_ComSpecialOfferGiftBoxItem.Proxy(obj);
+            var shopCfgIds = uiItem.target.parent.data as List<int>;
+            var shopCfgId = shopCfgIds[index];
+
+            var shopCfg = ShopCfgArray.Instance.GetCfg(shopCfgId);
+            var shopItemCfg = ItemCfgArray.Instance.GetCfg(shopCfg.itemId);
+
+            var remainBuyNum = shopCfg.maxBuyNum - ShopDataManager.Instance.GetGoodsBuyNumById(shopCfg.id);
+
+            uiItem.m_txtGetJf.text = string.Empty;
+            string mTxtUrc = string.Empty;
+            string mTxtNewPrice;
+            if (shopCfg.refreshType == RefreshType.DAY)
+            {
+                mTxtUrc = $"今日限购{remainBuyNum}/{shopCfg.maxBuyNum}";
+            }
+            else if (shopCfg.refreshType == RefreshType.WEEK)
+            {
+                mTxtUrc = $"本周限购{remainBuyNum}/{shopCfg.maxBuyNum}";
+            }
+            else if (shopCfg.refreshType == RefreshType.MONTH)
+            {
+                mTxtUrc = $"本月限购{remainBuyNum}/{shopCfg.maxBuyNum}";
+            }
+
+            if (remainBuyNum == 0)
+            {
+                //已售完
+                uiItem.m_btnBuy.m_bagGrey.visible = true;
+                uiItem.m_btnBuy.m_bagYellow.visible = false;
+            }
+            else
+            {
+                //未售完
+                uiItem.m_btnBuy.m_bagGrey.visible = false;
+                uiItem.m_btnBuy.m_bagYellow.visible = true;
+            }
+
+            if (shopCfg.costType == CostType.ITEM)
+            {
+                //货币
+                ItemCfg costCfg = ItemCfgArray.Instance.GetCfg(shopCfg.costId);
+                mTxtNewPrice = shopCfg.price.ToString();
+                uiItem.m_btnBuy.m_loaIcon.visible = true;
+                uiItem.m_btnBuy.m_loaIcon.url = ResPathUtil.GetIconPath(costCfg);
+            }
+            else if (shopCfg.costType == CostType.RMB)
+            {
+                //人民币 
+                mTxtNewPrice = $"{shopCfg.price}元";
+                uiItem.m_btnBuy.m_txtNewPrice.align = AlignType.Left;
+                uiItem.m_btnBuy.m_txtNewPrice.x = 90;
+                uiItem.m_txtGetJf.text = $"可获得{shopCfg.price * 10}充值经验";
+            }
+            else
+            {
+                //免费
+                mTxtNewPrice = $"免费";
+                uiItem.m_btnBuy.m_txtOldPrice.text = "";
+                uiItem.m_btnBuy.m_txtNewPrice.align = AlignType.Left;
+                uiItem.m_btnBuy.m_txtNewPrice.x = 90;
+            }
+
+            uiItem.target.data = shopCfg;
+            uiItem.m_btnBuy.m_txtNewPrice.text = mTxtNewPrice;
+            uiItem.m_txtUrc.text = mTxtUrc;
+            uiItem.m_btnBuy.target.onClick.Add(OnBtnBuyClick);
+
+            //子列表
+            uiItem.m_list.itemRenderer = ChildListItemRender;
+            uiItem.m_list.numItems = shopItemCfg.itemsArr.Length;
+            uiItem.m_list.visible = true;
         }
 
         private void ChildListItemRender(int index, GObject obj)
         {
+            UI_ComRewardIconItem uiItemChild = UI_ComRewardIconItem.Proxy(obj);
+            var shopCfg = uiItemChild.target.parent.data as ShopCfg;
+            var itemCfg = ItemCfgArray.Instance.GetCfg(shopCfg.itemId);
+
+            int[][] result;
+            // if (shopCfg.refreshType == RefreshType.DAY)
+            // {
+            result = itemCfg.itemsArr;
+            uiItemChild.m_bagYellow.visible = false;
+            uiItemChild.m_bagBlue.visible = true;
+            uiItemChild.m_bagYellowEx.visible = false;
+            uiItemChild.m_bagBlueEx.visible = true;
+            // }
+            // else
+            // {
+            //周刷
+            // result = itemCfg.param1Arr;
+            // uiItemChild.m_bagYellow.visible = true;
+            // uiItemChild.m_bagBlue.visible = false;
+            // uiItemChild.m_bagYellowEx.visible = true;
+            // uiItemChild.m_bagBlueEx.visible = false;
+            // }
+
+            var itemArr = result[index];
+            var itemCfgChild = ItemCfgArray.Instance.GetCfg(itemArr[0]);
+            uiItemChild.m_loaIcon.onClick.Add(OnListSelectorItemClick);
+            uiItemChild.m_loaIcon.url = ResPathUtil.GetIconPath(itemCfgChild);
+            uiItemChild.m_num.text = itemArr[1].ToString();
+            uiItemChild.target.data = itemCfgChild;
+            UI_ComRewardIconItem.ProxyEnd();
+        }
+
+        //弹出物品详细描述框
+        private void OnListSelectorItemClick(EventContext context)
+        {
+            GObject sender = context.sender as GObject;
+            GObject obj = sender.parent;
+            ItemCfg itemCfg = obj.data as ItemCfg;
+            GoodsItemTipsController.ShowItemTips(itemCfg.id);
+        }
+
+        //上一条
+        private void OnBtnPreviousClick()
+        {
+            UpdateView(ListUtil.NavigateType.Previous);
+        }
+
+        //下一条
+        private void OnBtnNextClick()
+        {
+            UpdateView(ListUtil.NavigateType.Next);
+        }
+
+        //购买按钮点击事件
+        private void OnBtnBuyClick(EventContext context)
+        {
+            GObject sender = context.sender as GObject;
+            ShopCfg cfg = sender.parent.data as ShopCfg;
+            bool isSellOut = cfg.maxBuyNum > 0 &&
+                             cfg.maxBuyNum - ShopDataManager.Instance.GetGoodsBuyNumById(cfg.id) <= 0;
+
+            if (isSellOut)
+            {
+                PromptController.Instance.ShowFloatTextPrompt("已售罄");
+                return;
+            }
+
+            if (!ShopDataManager.Instance.GetShopGoodsStateById(cfg.id))
+            {
+                PromptController.Instance.ShowFloatTextPrompt(ShopDataManager.Instance.GetShopGoodsStateTips(cfg.id));
+                return;
+            }
+
+            if (cfg.costType == CostType.FREE)
+            {
+                ShopSProxy.ReqShopBuy(cfg.id, 1).Coroutine();
+                LogServerHelper.SendPlayParticipationLog((int)PlayParticipationEnum.SHANG_CHENG, 2);
+            }
+            else
+            {
+                ViewManager.Show<ItemExchangeView>(cfg.id);
+            }
         }
 
         protected override void OnHide()
@@ -72,7 +255,7 @@ namespace GFGGame
             base.Hide();
         }
 
-        private void OnClickBtnCancel()
+        private void OnBtnCancelClick()
         {
             this.Hide();
         }

BIN
GameClient/Assets/ResIn/UI/EnduringGiftBox/EnduringGiftBox_atlas0!a.png


BIN
GameClient/Assets/ResIn/UI/EnduringGiftBox/EnduringGiftBox_atlas0.png


BIN
GameClient/Assets/ResIn/UI/EnduringGiftBox/EnduringGiftBox_fui.bytes