提交修改
This commit is contained in:
@@ -9,9 +9,8 @@ namespace NBF
|
||||
/// 为TabItemData列表添加"全部"选项卡
|
||||
/// </summary>
|
||||
/// <param name="tabItems">原始选项卡列表</param>
|
||||
/// <param name="addListTitle"></param>
|
||||
/// <returns>包含"全部"选项卡的新列表</returns>
|
||||
public static void AddAllTabItem(this List<TabItemData> tabItems, bool addListTitle = false)
|
||||
public static void AddAllTabItem(this List<TabItemData> tabItems)
|
||||
{
|
||||
//判断是否存在二级目录,有二级目录则只在二级目录有"全部"选项卡
|
||||
if (tabItems.Any(tabItem => tabItem.Children.Count > 0))
|
||||
@@ -26,7 +25,7 @@ namespace NBF
|
||||
Key = "All",
|
||||
Icon = "All",
|
||||
IsAll = true,
|
||||
Items = GetAllItemsFromTabs(tabItemData.Children, addListTitle)
|
||||
Items = GetAllItemsFromTabs(tabItemData.Children)
|
||||
};
|
||||
tabItemData.Children.Insert(0, allTab);
|
||||
}
|
||||
@@ -40,7 +39,7 @@ namespace NBF
|
||||
Key = "All",
|
||||
Icon = "All",
|
||||
IsAll = true,
|
||||
Items = GetAllItemsFromTabs(tabItems, addListTitle)
|
||||
Items = GetAllItemsFromTabs(tabItems)
|
||||
};
|
||||
tabItems.Insert(0, allTab);
|
||||
}
|
||||
@@ -49,16 +48,20 @@ namespace NBF
|
||||
/// <summary>
|
||||
/// 递归获取所有选项卡中的项目(去重)
|
||||
/// </summary>
|
||||
private static List<object> GetAllItemsFromTabs(List<TabItemData> tabs, bool addListTitle = false)
|
||||
private static List<object> GetAllItemsFromTabs(List<TabItemData> tabs)
|
||||
{
|
||||
var allItems = new List<object>();
|
||||
|
||||
foreach (var tab in tabs)
|
||||
{
|
||||
allItems.Add(new ClassifyListTitleData()
|
||||
{
|
||||
Title = tab.Key
|
||||
});
|
||||
// if (addListTitle)
|
||||
// {
|
||||
// allItems.Add(new ClassifyListTitleData()
|
||||
// {
|
||||
// Title = tab.Key
|
||||
// });
|
||||
// }
|
||||
|
||||
// 添加当前选项卡的项目
|
||||
if (tab.Items != null)
|
||||
{
|
||||
|
||||
@@ -24,9 +24,6 @@ namespace NBF
|
||||
private void OnInited()
|
||||
{
|
||||
Game.Input.OnUICanceled += OnUICanceled;
|
||||
List.defaultItem = ListTitleItem.URL;
|
||||
List.itemProvider = GetListItemResource;
|
||||
List.itemRenderer = OnRenderItem;
|
||||
List.onClickItem.Add(OnClickListItem);
|
||||
}
|
||||
|
||||
@@ -77,15 +74,26 @@ namespace NBF
|
||||
{
|
||||
List.selectedIndex = -1;
|
||||
_listData.Clear();
|
||||
|
||||
|
||||
foreach (var obj in listData)
|
||||
{
|
||||
_listData.Add(obj);
|
||||
}
|
||||
List.RemoveChildrenToPool();
|
||||
List.defaultItem = ListTitleItem.URL;
|
||||
List.itemProvider = GetListItemResource;
|
||||
List.itemRenderer = OnRenderItem;
|
||||
List.selectionMode = selectionMode;
|
||||
List.numItems = _listData.Count;
|
||||
List.ScrollToView(0);
|
||||
try
|
||||
{
|
||||
List.numItems = _listData.Count;
|
||||
List.ScrollToView(0);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Log.Error(e);
|
||||
}
|
||||
|
||||
_columnsCount = 5;
|
||||
}
|
||||
|
||||
@@ -100,11 +108,10 @@ namespace NBF
|
||||
if (obj is ListItemBase item)
|
||||
{
|
||||
item.SetData(itemData);
|
||||
// obj.SetSize(350, 300);
|
||||
}
|
||||
else if (obj is BagItem bagItem)
|
||||
{
|
||||
// obj.SetSize(350, 300);
|
||||
bagItem.SetData(itemData as ItemInfo);
|
||||
}
|
||||
else if (obj is ListTitleItem titleItem)
|
||||
{
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
// 本脚本只在不存在时会生成一次。组件逻辑写在当前脚本内。已存在不会再次生成覆盖
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using UnityEngine;
|
||||
@@ -24,14 +25,12 @@ namespace NBF
|
||||
{
|
||||
Menu.OnTabChange += ChangeTab;
|
||||
SubMenu.OnTabChange += ChangeSubTab;
|
||||
List.OnClickItem += OnClickItem;
|
||||
}
|
||||
|
||||
public override void Dispose()
|
||||
{
|
||||
Menu.OnTabChange -= ChangeTab;
|
||||
SubMenu.OnTabChange -= ChangeSubTab;
|
||||
List.OnClickItem -= OnClickItem;
|
||||
base.Dispose();
|
||||
}
|
||||
|
||||
@@ -71,7 +70,7 @@ namespace NBF
|
||||
|
||||
if (showAll)
|
||||
{
|
||||
_tabList.AddAllTabItem(showListTitle);
|
||||
_tabList.AddAllTabItem();
|
||||
}
|
||||
|
||||
Menu.SetTabs(_tabList);
|
||||
@@ -105,9 +104,5 @@ namespace NBF
|
||||
var subList = _currentTab.Children[index];
|
||||
List.SetListData(subList.Items);
|
||||
}
|
||||
|
||||
private void OnClickItem(object item)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -29,6 +29,7 @@ namespace NBF
|
||||
if (ui.IsTop && !ui.IsDontBack)
|
||||
{
|
||||
App.UI.HideUI(ui.GetType());
|
||||
break;
|
||||
// ui.Hide();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user