상점 완료

This commit is contained in:
Ino 2025-04-25 08:39:00 +09:00
parent a4fa4031b4
commit 4445b50bcc
11 changed files with 1755 additions and 7 deletions

View File

@ -86,17 +86,18 @@ messageinfo 엄청 느린 버그
- 포탈, 필드보스, 부활의 성소, 챕터보스
상점
- 인앱 결제
- 인앱 결제 (서버 및 스토어는 나중에)
- 상점 UI
- 재화에 따른 구매 분기 처리
-- 현금 (바로 구매)
-- 광고 (광고 시청 후 아이템 지급 처리)
-- 요구하는 재화로 구매
-- 보석이 부족한 경우 현금으로 사라고 팝업 노출
//- 예시 테이블 데이터
// - 메일 보상 받을 때 상점 아이템인 지 확인
// - 인앱 구매 플레이팹 연동 등
- 예시 테이블 데이터
- 메일 보상 받을 때 상점 아이템인 지 확인
- 인앱 구매 플레이팹 연동 등
상점 작업 완료 후 노션에 적자
인게임 전투 방식 및 타격감 등 - 갓깨비 키우기

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -1293,6 +1293,7 @@ public partial class ServerData
}
else
{ // 보석이 부족한 경우 현금으로 사라고 팝업 노출
NewGameUI.Ins.m_ShopUI.m_ShopJewelBuyPopup.Set(data);
}
break;
}

View File

@ -112,6 +112,7 @@ public class table_shopitemlist : table_missionbase
List<ShopItemListTableData> list_day = new List<ShopItemListTableData>();
List<ShopItemListTableData> list_week = new List<ShopItemListTableData>();
List<ShopItemListTableData> list_month = new List<ShopItemListTableData>();
List<ShopItemListTableData> list_cash = new List<ShopItemListTableData>();
List<TabUIData> MainTabDatas = new List<TabUIData>();
Dictionary<int, List<TabUIData>> SubTabDatas = new Dictionary<int, List<TabUIData>>();
@ -154,7 +155,11 @@ public class table_shopitemlist : table_missionbase
if (temp.BuyLimit_Week > 0) list_week.Add(temp); // 주간
if (temp.BuyLimit_Month > 0) list_month.Add(temp); // 월간
if (!string.IsNullOrEmpty(temp.s_InappID)) list_inappids.Add(temp.s_InappID); // 인앱
if (!string.IsNullOrEmpty(temp.s_InappID))
{ // 인앱
list_inappids.Add(temp.s_InappID);
list_cash.Add(temp);
}
}
// 정렬
@ -170,6 +175,16 @@ public class table_shopitemlist : table_missionbase
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 ShopItemListTableData Get_CashData(int needjewel)
{
for (int i = 0; i < list_cash.Count; i++)
{
var bags = table_randombag.Ins.Get_DataList(list_cash[i].n_RandomBagID);
if (bags[0].n_DropCount >= needjewel)
return list_cash[i];
}
return list_cash[list_cash.Count - 1];
}
public List<ShopItemListTableData> Get_DataList() { return tableDatas; }
public List<ShopItemListTableData> Get_DataList(int maintab, int subtab) { return dic_shop[(maintab, subtab)]; }
public List<ShopItemListTableData> Get_DataList_AD() { return list_ad; }

View File

@ -0,0 +1,38 @@
using TMPro;
using UnityEngine.UI;
public class ShopJewelBuyPopup : BackKeyAdd
{
public TextMeshProUGUI[] texts; // 0 메시지1, 1 메시지2, 2 가격
public Image i_jewel;
ShopItemListTableData m_CashData;
private void Start()
{
i_jewel.sprite = UIAtlasMgr.Ins.Get_Sprite(3);
}
public void Set(ShopItemListTableData data)
{
base.Set();
var sdata = ServerInfo.Ins.m_ServerData;
var diff = data.n_Price - (int)sdata.Get_ItemAmount(data.n_PriceItemID);
texts[0].text = DSUtil.Format(398, diff);
m_CashData = table_shopitemlist.Ins.Get_CashData(data.n_Price);
texts[1].text = DSUtil.Format(399, sdata.Get_ShopPriceText(m_CashData));
texts[2].text = sdata.Get_ShopPriceText(m_CashData);
}
public void OnClick_Other()
{
OnClick_Back();
}
public void OnClick_Buy()
{
ServerInfo.Ins.m_ServerData.Buy_ShopItem(m_CashData, OnClick_Back);
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: f8af0dfc8c4968340b00c4a7fb136884
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,10 +1,13 @@
using TMPro;
using UnityEngine;
using UnityEngine.UI;
using static UnityEditor.PlayerSettings;
public class ShopPackagePopup : uScrollViewMgr
{
public TextMeshProUGUI[] texts; // 0 이름, 1 제한, 2 가격
public Image[] images; // 0 패키지 아이콘, 1 가격
public GameObject[] gos; // 0 품절
ShopItemListTableData m_Data;
@ -31,6 +34,8 @@ public class ShopPackagePopup : uScrollViewMgr
texts[1].text = sdata.Get_ShopLimitText(m_Data);
texts[2].text = sdata.Get_ShopPriceText(m_Data);
gos[0].SetActive(sdata.isShopItemSoldOut(m_Data));
GetComponent<CardTimeUI>().Set_ShopADTime(m_Data.n_ShopItemID, sdata.isShopItemSoldOut(m_Data));
}

View File

@ -3,10 +3,12 @@ public class ShopUI : BotMenuBase
public TabUIBase Tab_Main, Tab_Sub;
public ShopContentBase shopContents;
public ShopPackagePopup m_ShopPackagePopup;
public ShopJewelBuyPopup m_ShopJewelBuyPopup;
public override void Set()
{
m_ShopPackagePopup.OnClick_Back();
m_ShopJewelBuyPopup.OnClick_Back();
base.Set();
Set_Money(1, table_GlobalValue.Ins.Get_Int("n_JewelItemID"));