94 lines
2.3 KiB
C#
94 lines
2.3 KiB
C#
// 本脚本只在不存在时会生成一次。已存在不会再次生成覆盖
|
|
|
|
using System.Collections.Generic;
|
|
using FairyGUI;
|
|
using NBC;
|
|
using UIPanel = NBC.UIPanel;
|
|
|
|
namespace NBF
|
|
{
|
|
public class ShopGearData
|
|
{
|
|
public string title;
|
|
}
|
|
|
|
public partial class FishingShopPanel : UIPanel
|
|
{
|
|
public override string UIPackName => "Shop";
|
|
public override string UIResName => "FishingShopPanel";
|
|
|
|
private List<TabListData> _tabList = new List<TabListData>();
|
|
private TabListData _currentTab;
|
|
|
|
protected override void OnInit()
|
|
{
|
|
base.OnInit();
|
|
this.AutoAddClick(OnClick);
|
|
|
|
for (int i = 0; i < 10; i++)
|
|
{
|
|
var itemData = new TabListData();
|
|
itemData.AddTestData(i);
|
|
_tabList.Add(itemData);
|
|
}
|
|
|
|
Menu.OnTabChange += ChangeTab;
|
|
SubMenu.OnTabChange += ChangeSubTab;
|
|
List.OnClickItem += OnClickItem;
|
|
}
|
|
|
|
protected override void OnShow()
|
|
{
|
|
base.OnShow();
|
|
Menu.SetTabs(_tabList);
|
|
UseBottomMenu();
|
|
}
|
|
|
|
private void UseBottomMenu()
|
|
{
|
|
BottomMenu.OnBack += Hide;
|
|
BottomMenu.Use();
|
|
}
|
|
|
|
private void ChangeTab(int index)
|
|
{
|
|
Log.Info($"Change tab index={index}");
|
|
var tabListData = _tabList[index];
|
|
_currentTab = tabListData;
|
|
SubMenu.SetTabs(_currentTab.SubTab);
|
|
}
|
|
|
|
private void ChangeSubTab(int index)
|
|
{
|
|
var subList = _currentTab.SubTab[index];
|
|
List.SetListData(subList.Items);
|
|
}
|
|
|
|
private void OnClickItem(object item)
|
|
{
|
|
if (item is not ShopGearItem shopGearItem) return;
|
|
Log.Info($"click item ={shopGearItem.GearData.title}");
|
|
}
|
|
|
|
private void OnClick(GComponent btn)
|
|
{
|
|
// if (btn == BtnClose)
|
|
// {
|
|
// Hide();
|
|
// }
|
|
}
|
|
|
|
protected override void OnHide()
|
|
{
|
|
base.OnHide();
|
|
BottomMenu.UnUse();
|
|
}
|
|
|
|
protected override void OnDestroy()
|
|
{
|
|
base.OnDestroy();
|
|
Menu.OnTabChange -= ChangeTab;
|
|
SubMenu.OnTabChange -= ChangeSubTab;
|
|
}
|
|
}
|
|
} |