83 lines
2.1 KiB
C#
83 lines
2.1 KiB
C#
// 本脚本只在不存在时会生成一次。已存在不会再次生成覆盖
|
|
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using NBC;
|
|
using NBF.Fishing2;
|
|
|
|
namespace NBF
|
|
{
|
|
public partial class BagPanel : UIPanel
|
|
{
|
|
protected override void OnInit()
|
|
{
|
|
base.OnInit();
|
|
}
|
|
|
|
protected override void OnShow()
|
|
{
|
|
ItemList.List.OnClickItem += OnClickItem;
|
|
Game.Input.OnUICanceled += OnUICanceled;
|
|
UseBottomMenu();
|
|
|
|
List<TabItemData> tabItemList = new List<TabItemData>();
|
|
var role = App.Main.GetComponent<Role>();
|
|
var roleBag = role.GetComponent<RoleBag>();
|
|
|
|
var dic = roleBag.GetItemsByType();
|
|
foreach (var (type, list) in dic)
|
|
{
|
|
TabItemData tabItem = new TabItemData
|
|
{
|
|
Key = type.ToString()
|
|
};
|
|
tabItem.Items.AddRange(list);
|
|
tabItemList.Add(tabItem);
|
|
}
|
|
|
|
ItemList.SetPanel(this);
|
|
ItemList.SetData(tabItemList, true, true);
|
|
|
|
}
|
|
|
|
private void OnUICanceled(string action)
|
|
{
|
|
if (!IsTop) return;
|
|
if (action == InputDef.UI.SubPrev)
|
|
{
|
|
}
|
|
else if (action == InputDef.UI.SubNext)
|
|
{
|
|
}
|
|
else if (action == InputDef.UI.Up)
|
|
{
|
|
}
|
|
else if (action == InputDef.UI.Down)
|
|
{
|
|
}
|
|
}
|
|
|
|
private void OnClickItem(object item)
|
|
{
|
|
if (item is not BagItem bagItem) return;
|
|
// ItemDetailsPanel.s
|
|
ItemDetailsPanel.Show(bagItem.ItemInfo);
|
|
}
|
|
|
|
private void UseBottomMenu()
|
|
{
|
|
BottomMenu.Use(this);
|
|
}
|
|
|
|
protected override void OnHide()
|
|
{
|
|
Game.Input.OnUICanceled -= OnUICanceled;
|
|
ItemList.List.OnClickItem -= OnClickItem;
|
|
}
|
|
|
|
protected override void OnDestroy()
|
|
{
|
|
base.OnDestroy();
|
|
}
|
|
}
|
|
} |