상점 탭 로직

This commit is contained in:
Ino 2025-04-22 07:40:59 +09:00
parent 19eb6e708c
commit cf9fd1c3f6
4 changed files with 46 additions and 0 deletions

Binary file not shown.

View File

@ -15119,6 +15119,8 @@ MonoBehaviour:
moneyForms:
- {fileID: 7137432488161453334}
- {fileID: 5347853226888182770}
Tab_Main: {fileID: 4425228685122679352}
Tab_Sub: {fileID: 6394690042655658315}
--- !u!1 &1145784816424712090
GameObject:
m_ObjectHideFlags: 0

View File

@ -92,6 +92,8 @@ public class table_shopitemlist : table_missionbase
public static table_shopitemlist Ins;
List<ShopItemListTableData> tableDatas;
Dictionary<(int, int), List<ShopItemListTableData>> dic_shop = new Dictionary<(int, int), List<ShopItemListTableData>>();
List<TabUIData> MainTabDatas = new List<TabUIData>();
Dictionary<int, List<TabUIData>> SubTabDatas = new Dictionary<int, List<TabUIData>>();
protected override void Awake()
{
@ -102,12 +104,27 @@ public class table_shopitemlist : table_missionbase
protected override void Start()
{
tableDatas = JsonConvert.DeserializeObject<List<ShopItemListTableData>>(json_last);
int maintab = -1, subtab = -1;
for (int i = 0; i < Get_DataList().Count; i++)
{
var temp = Get_DataList()[i];
if (!dic_shop.ContainsKey((temp.n_ShopTab, temp.n_ShopSubTab)))
dic_shop.Add((temp.n_ShopTab, temp.n_ShopSubTab), new List<ShopItemListTableData>());
dic_shop[(temp.n_ShopTab, temp.n_ShopSubTab)].Add(temp);
if (maintab < temp.n_ShopTab)
{
maintab = temp.n_ShopTab;
subtab = -1;
MainTabDatas.Add(new TabUIData { n_btnName = temp.n_TabName });
}
if (subtab < temp.n_ShopSubTab)
{
if (!SubTabDatas.ContainsKey(maintab))
SubTabDatas.Add(maintab, new List<TabUIData>());
subtab = temp.n_ShopSubTab;
SubTabDatas[maintab].Add(new TabUIData { n_btnName = temp.n_SubTabName });
}
}
base.Start();
@ -116,4 +133,7 @@ public class table_shopitemlist : table_missionbase
//public ShopItemListTableData Get_Data() { }
public List<ShopItemListTableData> Get_DataList() { return tableDatas; }
//public List<ShopItemListTableData> Get_DataList(eStat stat) { return dic_StatList[stat]; }
public List<TabUIData> Get_MainTabDatas() { return MainTabDatas; }
public List<TabUIData> Get_SubTabDatas(int index) { return SubTabDatas[index]; }
}

View File

@ -6,5 +6,29 @@ public class ShopUI : BotMenuBase
{
base.Set();
Set_Money(1, table_GlobalValue.Ins.Get_Int("n_JewelItemID"));
var maintabs = table_shopitemlist.Ins.Get_MainTabDatas();
for (int i = 0; i < maintabs.Count; i++)
{
maintabs[i].onClick = OnClick_MainTab;
}
Tab_Main.Set(maintabs);
OnClick_MainTab();
}
void OnClick_MainTab()
{
Tab_Sub.Set_Index(0);
var subtabs = table_shopitemlist.Ins.Get_SubTabDatas(Tab_Main.Get_Index());
for (int i = 0; i < subtabs.Count; i++)
{
subtabs[i].onClick = OnClick_SubTab;
}
Tab_Sub.Set(subtabs);
OnClick_SubTab();
}
void OnClick_SubTab()
{
}
}