diff --git a/Assets/ResWork/Table/butler.xlsm b/Assets/ResWork/Table/butler.xlsm index 13b5a34ff..2e535235a 100644 Binary files a/Assets/ResWork/Table/butler.xlsm and b/Assets/ResWork/Table/butler.xlsm differ diff --git a/Assets/Res_Addr/MainUI/NewGameUI.prefab b/Assets/Res_Addr/MainUI/NewGameUI.prefab index 1a2e8c579..7d980d60b 100644 --- a/Assets/Res_Addr/MainUI/NewGameUI.prefab +++ b/Assets/Res_Addr/MainUI/NewGameUI.prefab @@ -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 diff --git a/Assets/Script/Table/Shop/table_shopitemlist.cs b/Assets/Script/Table/Shop/table_shopitemlist.cs index c33e12e43..b81918299 100644 --- a/Assets/Script/Table/Shop/table_shopitemlist.cs +++ b/Assets/Script/Table/Shop/table_shopitemlist.cs @@ -92,6 +92,8 @@ public class table_shopitemlist : table_missionbase public static table_shopitemlist Ins; List tableDatas; Dictionary<(int, int), List> dic_shop = new Dictionary<(int, int), List>(); + List MainTabDatas = new List(); + Dictionary> SubTabDatas = new Dictionary>(); protected override void Awake() { @@ -102,12 +104,27 @@ public class table_shopitemlist : table_missionbase protected override void Start() { tableDatas = JsonConvert.DeserializeObject>(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()); 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()); + 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 Get_DataList() { return tableDatas; } //public List Get_DataList(eStat stat) { return dic_StatList[stat]; } + + public List Get_MainTabDatas() { return MainTabDatas; } + public List Get_SubTabDatas(int index) { return SubTabDatas[index]; } } \ No newline at end of file diff --git a/Assets/Script/UI/Shop/ShopUI.cs b/Assets/Script/UI/Shop/ShopUI.cs index 6ba9a291f..24c35b4df 100644 --- a/Assets/Script/UI/Shop/ShopUI.cs +++ b/Assets/Script/UI/Shop/ShopUI.cs @@ -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() + { } } \ No newline at end of file