diff --git a/Assets/Ino_nerdnavis.txt b/Assets/Ino_nerdnavis.txt index 1bbd21dd7..3ea74b557 100644 --- a/Assets/Ino_nerdnavis.txt +++ b/Assets/Ino_nerdnavis.txt @@ -88,7 +88,7 @@ messageinfo 엄청 느린 버그 상점 - 인앱 결제 - 상품 ui 등... - - 메일 보상 받을 때 상점 아이템인 지 확인 + // - 메일 보상 받을 때 상점 아이템인 지 확인 // - 인앱 구매 플레이팹 연동 등 diff --git a/Assets/Script/Table/Shop/table_shopitemlist.cs b/Assets/Script/Table/Shop/table_shopitemlist.cs index f995abead..64916cddd 100644 --- a/Assets/Script/Table/Shop/table_shopitemlist.cs +++ b/Assets/Script/Table/Shop/table_shopitemlist.cs @@ -106,6 +106,7 @@ public class table_shopitemlist : table_missionbase { public static table_shopitemlist Ins; List tableDatas; + Dictionary dic_shopdata = new Dictionary(); Dictionary<(int, int), List> dic_shop = new Dictionary<(int, int), List>(); List list_ad = new List(); List list_day = new List(); @@ -129,6 +130,7 @@ public class table_shopitemlist : table_missionbase for (int i = 0; i < Get_DataList().Count; i++) { var temp = Get_DataList()[i]; + dic_shopdata.Add(temp.n_ShopItemID, temp); 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); @@ -166,7 +168,8 @@ public class table_shopitemlist : table_missionbase } public static Action Login; - public ShopItemListTableData Get_Data(int maintab, int subtab = 0) { return dic_shop[(maintab, subtab)][0]; } + public ShopItemListTableData Get_Data(int maintab, int subtab) { return dic_shop[(maintab, subtab)][0]; } + public ShopItemListTableData Get_Data(int id) { return dic_shopdata[id]; } public List Get_DataList() { return tableDatas; } public List Get_DataList(int maintab, int subtab) { return dic_shop[(maintab, subtab)]; } public List Get_DataList_AD() { return list_ad; } diff --git a/Assets/Script/UI/Center/Mail/MailCard.cs b/Assets/Script/UI/Center/Mail/MailCard.cs index 5bb86078d..b21cc0c11 100644 --- a/Assets/Script/UI/Center/Mail/MailCard.cs +++ b/Assets/Script/UI/Center/Mail/MailCard.cs @@ -1,3 +1,4 @@ +using System.Collections.Generic; using TMPro; using UnityEngine.UI; @@ -44,15 +45,14 @@ public class MailCard : CardBase sinfo.Get_MailReward(m_ServerMailData.RemainTime, error => { - switch (error) - { - case 3: - ToastUI.Ins.Set(144); - break; - default: - // TODO 정인호 : 상점 패키지 확인 필요 - sinfo.m_ServerData.Add_Item(id, amount); - sinfo.Write(() => { ObtainItemUI.Ins.Set(new ItemSimpleData { itemid = id, amount = amount }); }); + switch (error) + { + case 3: + ToastUI.Ins.Set(144); + break; + default: + var lst = MailUI.Ins.Get_MailReward(new List { new ItemSimpleData { itemid = id, amount = amount } }); + sinfo.Write(() => { ObtainItemUI.Ins.Set(lst); }); break; } MailUI.Ins.Del_Mail(m_ServerMailData); diff --git a/Assets/Script/UI/Center/Mail/MailUI.cs b/Assets/Script/UI/Center/Mail/MailUI.cs index 23bdf4502..0f7a8bc3c 100644 --- a/Assets/Script/UI/Center/Mail/MailUI.cs +++ b/Assets/Script/UI/Center/Mail/MailUI.cs @@ -59,6 +59,8 @@ public class MailUI : MonoBehaviourSingletonuScrollViewMgr } } + obtainlist = Get_MailReward(obtainlist); + ServerInfo.Ins.Write(() => { if (obtainlist.Count > 0) ObtainItemUI.Ins.Set(obtainlist); @@ -68,6 +70,31 @@ public class MailUI : MonoBehaviourSingletonuScrollViewMgr }); } + public List Get_MailReward(List rewards) + { + var obtainlist = new List(); + for (int i = 0; i < rewards.Count; i++) + { + var temp = rewards[i]; + var itemdata = table_itemlist.Ins.Get_Data(temp.itemid); + if (itemdata.e_ItemType == eItem.Shop) + { + var shopdata = table_shopitemlist.Ins.Get_Data(temp.itemid); + var bag = table_randombag.Ins.Get_DataList(shopdata.n_RandomBagID); + for (int j = 0; j < bag.Count; j++) + obtainlist.Add(new ItemSimpleData { itemid = bag[j].n_ItemId, amount = bag[j].n_DropCount }); + } + else + obtainlist.Add(new ItemSimpleData { itemid = temp.itemid, amount = temp.amount }); + } + + var sdata = ServerInfo.Ins.m_ServerData; + for (int i = 0; i < obtainlist.Count; i++) + sdata.Add_Item(obtainlist[i].itemid, obtainlist[i].amount); + + return obtainlist; + } + public override void OnClick_Back() { Del_BackKey(); diff --git a/Assets/Script/UI/Shop/ShopUI.cs b/Assets/Script/UI/Shop/ShopUI.cs index 4424ae686..4e237054d 100644 --- a/Assets/Script/UI/Shop/ShopUI.cs +++ b/Assets/Script/UI/Shop/ShopUI.cs @@ -36,7 +36,7 @@ public class ShopUI : BotMenuBase //for (int i = 0; i < shopContents.Length; i++) shopContents[i].gameObject.SetActive(false); var mainIndex = Tab_Main.Get_Index(); - var mainshopdata = table_shopitemlist.Ins.Get_Data(mainIndex); + var mainshopdata = table_shopitemlist.Ins.Get_Data(mainIndex, 0); //shopContents[mainIndex].Set(mainIndex, Tab_Sub.Get_Index()); shopContents.Set(mainIndex, Tab_Sub.Get_Index()); }