From 3792663860dae4b2d4f2736f9ed3a9ab79d6f3b6 Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期四, 06 十一月 2025 17:12:01 +0800
Subject: [PATCH] 164 获取途径不显示功能未开启的条目

---
 Main/System/ItemTip/ItemTipWayWin.cs |   32 +++++++++++++++++++++++++++++++-
 1 files changed, 31 insertions(+), 1 deletions(-)

diff --git a/Main/System/ItemTip/ItemTipWayWin.cs b/Main/System/ItemTip/ItemTipWayWin.cs
index 47f3b7e..746b092 100644
--- a/Main/System/ItemTip/ItemTipWayWin.cs
+++ b/Main/System/ItemTip/ItemTipWayWin.cs
@@ -1,4 +1,6 @@
 锘�
+using System;
+using System.Collections.Generic;
 using UnityEngine;
 using UnityEngine.UI;
 
@@ -16,6 +18,7 @@
     protected override void OnPreOpen()
     {
         scroller.OnRefreshCell += OnRefreshCell;
+        FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent;
         itemID = functionOrder;
 
         itemCell.Init(new ItemCellModel(itemID, false, 0));
@@ -29,13 +32,40 @@
     protected override void OnPreClose()
     {
         scroller.OnRefreshCell -= OnRefreshCell;
+        FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChangeEvent;
+    }
+
+    private void OnFuncStateChangeEvent(int obj)
+    {
+        CreateScroller();
+    }
+
+    List<int> GetWayList()
+    {
+        var itemConfig = ItemConfig.Get(itemID);
+        if (itemConfig.GetWay.IsNullOrEmpty())
+            return new List<int>();
+        List<int> resList = new List<int>();
+        for (int i = 0; i < itemConfig.GetWay.Length; i++)
+        {
+            int way = itemConfig.GetWay[i];
+            if (!GetItemWaysConfig.HasKey(way))
+                continue;
+            GetItemWaysConfig config = GetItemWaysConfig.Get(way);
+            int funcID = config.FuncID;
+            if (FuncOpenLVConfig.HasKey(funcID) && !FuncOpen.Instance.IsFuncOpen(funcID))
+                continue;
+            resList.Add(way);
+        }
+        return resList;
     }
 
     void CreateScroller()
     {
         var itemConfig = ItemConfig.Get(itemID);
         scroller.Refresh();
-        for (int i = 0; i < itemConfig.GetWay.Length; i++)
+        List<int> wayList = GetWayList();
+        for (int i = 0; i < wayList.Count; i++)
         {
             scroller.AddCell(ScrollerDataType.Header, itemConfig.GetWay[i]);
         }

--
Gitblit v1.8.0