From bd6f9a734277e57efe5abc8c32a85d5de27cdc03 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期六, 14 三月 2026 00:18:49 +0800
Subject: [PATCH] 555 子 【付费功能】皮肤商店 / 【付费功能】时装商店-客户端

---
 Main/System/Store/SkinStoreWin.cs |  142 ++++++-----------------------------------------
 1 files changed, 19 insertions(+), 123 deletions(-)

diff --git a/Main/System/Store/SkinStoreWin.cs b/Main/System/Store/SkinStoreWin.cs
index cf09006..57f3195 100644
--- a/Main/System/Store/SkinStoreWin.cs
+++ b/Main/System/Store/SkinStoreWin.cs
@@ -4,35 +4,27 @@
 
 public class SkinStoreWin : UIBase
 {
-    [SerializeField] OwnMoneyCell ownMoneyCellWithShop;
-    //鏈夊埛鏂板姛鑳界殑鍟嗗簵
-    [SerializeField] GameObject refreshGo;
-    [SerializeField] Image refreshMoneyIcon;
-    [SerializeField] Text refreshMoneyText;
-    [SerializeField] Button refreshButton;
-
-    [SerializeField] GroupButtonEx normalShopBtn;
-    [SerializeField] GroupButtonEx guildShopBtn;
-    [SerializeField] GroupButtonEx heroShopBtn;
+    [SerializeField] Button giftBtn;
 
     [SerializeField] ScrollerController scroller;
 
+   
 
     protected override void InitComponent()
     {
-        refreshButton.AddListener(RefreshStore);
-        normalShopBtn.AddListener(() => { OnSelectStoreFuncType(1); });
-        guildShopBtn.AddListener(() => { OnSelectStoreFuncType(2); });
-        heroShopBtn.AddListener(() => { OnSelectStoreFuncType(3); });
+        giftBtn.AddListener(() =>
+        {
+            UIManager.Instance.OpenWindow<HeroSkinGiftWin>();
+        });
+
     }
 
 
     protected override void OnPreOpen()
     {
         scroller.OnRefreshCell += OnRefreshCell;
-        StoreModel.Instance.RefreshShopEvent += Display;
-        StoreModel.Instance.RefreshBuyShopLimitEvent += Display;
-        GuildManager.Instance.EnterOrQuitGuildEvent += EnterOrQuitGuildEvent;
+        StoreModel.Instance.RefreshShopEvent += Show;
+        StoreModel.Instance.RefreshBuyShopLimitEvent += Show;
         
         Display();
     }
@@ -40,62 +32,39 @@
     protected override void OnPreClose()
     {
         scroller.OnRefreshCell -= OnRefreshCell;
-        StoreModel.Instance.RefreshShopEvent -= Display;
-        StoreModel.Instance.RefreshBuyShopLimitEvent -= Display;
-        GuildManager.Instance.EnterOrQuitGuildEvent -= EnterOrQuitGuildEvent;
-        StoreModel.Instance.selectStoreFuncType = StoreFunc.Normal;
+        StoreModel.Instance.RefreshShopEvent -= Show;
+        StoreModel.Instance.RefreshBuyShopLimitEvent -= Show;
     }
 
     void Display()
     {
-        if (StoreModel.Instance.selectStoreFuncType == StoreFunc.Normal)
-        {
-            normalShopBtn.SelectBtn();
-        }
-        else if (StoreModel.Instance.selectStoreFuncType == StoreFunc.Guild)
-        {
-            guildShopBtn.SelectBtn();
-        }
-        else if (StoreModel.Instance.selectStoreFuncType == StoreFunc.Hero)
-        {
-            heroShopBtn.SelectBtn();
-        }
-
-        guildShopBtn.SetColorful(null, PlayerDatas.Instance.fairyData.HasFairy);
-        guildShopBtn.isLock = !PlayerDatas.Instance.fairyData.HasFairy;
-
-        ShowMoney();
         CreateScroller();
     }
 
-    void EnterOrQuitGuildEvent(bool isEnter)
+    void Show()
     {
-        if (!isEnter && StoreModel.Instance.selectStoreFuncType == StoreFunc.Guild)
-        {
-            StoreModel.Instance.selectStoreFuncType = StoreFunc.Normal;
-        }
-        Display();
+        scroller.m_Scorller.RefreshActiveCellViews();
     }
 
     void CreateScroller()
     {
-        if (!StoreModel.Instance.storeTypeDict.ContainsKey((int)StoreModel.Instance.selectStoreFuncType))
+        if (!StoreModel.Instance.storeTypeDict.ContainsKey(StoreModel.skinStoreType))
         {
             return;
         }
 
-        scroller.Refresh();
         int jumpIndex = -1;
-        var list = StoreModel.Instance.storeTypeDict[(int)StoreModel.Instance.selectStoreFuncType];
+        scroller.Refresh();
+        var list = StoreModel.Instance.storeTypeDict[StoreModel.skinStoreType];
         for (int i = 0; i < list.Count; i++)
         {
-            if (i % 3 == 0)
+            if (i % 4 == 0)
             {
                 scroller.AddCell(ScrollerDataType.Header, i);
             }
             if (jumpIndex == -1 && list[i].shopId == StoreModel.Instance.jumpShopID)
             {
-                jumpIndex = i / 3;
+                jumpIndex = i / 4;
             }
         }
         scroller.Restart();
@@ -110,82 +79,9 @@
 
     void OnRefreshCell(ScrollerDataType type, CellView cell)
     {
-        var _cell = cell as StoreLineCell;
+        var _cell = cell as SkinStoreLineCell;
         _cell.Display(cell.index);
     }
 
 
-    void ShowMoney()
-    {
-        if (!StoreModel.Instance.shopMoneyTypeDict.ContainsKey((int)StoreModel.Instance.selectStoreFuncType))
-        {
-            return;
-        }
-        var moneyType = StoreModel.Instance.shopMoneyTypeDict[(int)StoreModel.Instance.selectStoreFuncType];
-        ownMoneyCellWithShop.moneyType = moneyType;
-        ownMoneyCellWithShop.Display(true);
-
-        if (StoreModel.Instance.selectStoreFuncType == StoreFunc.Hero)
-        {
-            refreshGo.SetActive(true);
-            refreshMoneyIcon.SetIconWithMoneyType(StoreModel.Instance.heroSoulRefreshMoneyType);
-
-            if (StoreModel.Instance.shopRefreshCntDict.ContainsKey((int)StoreModel.Instance.selectStoreFuncType))
-            {
-                if (StoreModel.Instance.shopRefreshCntDict[(int)StoreModel.Instance.selectStoreFuncType] >=
-                StoreModel.Instance.heroSoulRefreshFreeCount)
-                {
-                    refreshMoneyText.text = StoreModel.Instance.heroSoulRefreshMoney.ToString();
-                }
-                else
-                {
-                    refreshMoneyText.text = Language.Get("L1127");
-                }
-            }
-            else
-            {
-                refreshMoneyText.text = Language.Get("L1127");
-            }
-        }
-        else
-        {
-            refreshGo.SetActive(false);
-        }
-    }
-
-    void RefreshStore()
-    {
-        if (StoreModel.Instance.selectStoreFuncType != StoreFunc.Hero)
-        {
-            return;
-        }
-        var useCnt = 0;
-        if (StoreModel.Instance.shopRefreshCntDict.ContainsKey((int)StoreModel.Instance.selectStoreFuncType))
-        {
-            if (StoreModel.Instance.shopRefreshCntDict[(int)StoreModel.Instance.selectStoreFuncType] >=
-            StoreModel.Instance.heroSoulRefreshFreeCount)
-            {
-                useCnt = StoreModel.Instance.heroSoulRefreshMoney;
-            }
-        }
-
-        if (UIHelper.CheckMoneyCount(StoreModel.Instance.heroSoulRefreshMoneyType, useCnt, 2))
-        {
-            StoreModel.Instance.RefreshStore((int)StoreFunc.Hero);
-        }
-    }
-
-    void OnSelectStoreFuncType(int index)
-    {
-        if (index == 2)
-        {
-            if (!PlayerDatas.Instance.fairyData.HasFairy)
-            {
-                SysNotifyMgr.Instance.ShowTip("NoGuild");
-                return;
-            }
-        }
-        StoreModel.Instance.selectStoreFuncType = (StoreFunc)index;
-        Display();
-    }
 }

--
Gitblit v1.8.0