광고 시청 후 상점 아이템 구매
This commit is contained in:
parent
d9ab672d81
commit
7535f82092
|
|
@ -89,7 +89,10 @@ messageinfo 엄청 느린 버그
|
||||||
- 인앱 결제
|
- 인앱 결제
|
||||||
- 상점 UI
|
- 상점 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.
|
|
@ -123736,9 +123736,9 @@ MonoBehaviour:
|
||||||
m_OnClick:
|
m_OnClick:
|
||||||
m_PersistentCalls:
|
m_PersistentCalls:
|
||||||
m_Calls:
|
m_Calls:
|
||||||
- m_Target: {fileID: 4327670431948493803}
|
- m_Target: {fileID: 8277929067037878694}
|
||||||
m_TargetAssemblyTypeName: ShopCard, Assembly-CSharp
|
m_TargetAssemblyTypeName: ShopPackagePopup, Assembly-CSharp
|
||||||
m_MethodName:
|
m_MethodName: OnClick_Buy
|
||||||
m_Mode: 1
|
m_Mode: 1
|
||||||
m_Arguments:
|
m_Arguments:
|
||||||
m_ObjectArgument: {fileID: 0}
|
m_ObjectArgument: {fileID: 0}
|
||||||
|
|
|
||||||
|
|
@ -95,9 +95,9 @@ public class ADInfo : MonoBehaviour
|
||||||
Action_fail = _fail;
|
Action_fail = _fail;
|
||||||
GetReward = 0;
|
GetReward = 0;
|
||||||
|
|
||||||
//#if UNITY_EDITOR
|
#if UNITY_EDITOR
|
||||||
//GetReward = 1;
|
GetReward = 1;
|
||||||
//#else
|
#else
|
||||||
if (ServerInfo.Ins.m_ServerData.Get_Common(eCommon.ADRemove) == 1)
|
if (ServerInfo.Ins.m_ServerData.Get_Common(eCommon.ADRemove) == 1)
|
||||||
GetReward = 1;
|
GetReward = 1;
|
||||||
else
|
else
|
||||||
|
|
@ -110,7 +110,7 @@ public class ADInfo : MonoBehaviour
|
||||||
//else
|
//else
|
||||||
GetReward = 2;
|
GetReward = 2;
|
||||||
}
|
}
|
||||||
//#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Update()
|
private void Update()
|
||||||
|
|
|
||||||
|
|
@ -1251,6 +1251,55 @@ public partial class ServerData
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 상점 구매 관련
|
||||||
|
public bool isShopItemSoldOut(ShopItemListTableData data)
|
||||||
|
{
|
||||||
|
var sdata = ServerInfo.Ins.m_ServerData;
|
||||||
|
var buycount = sdata.Get_ShopBuyCount(data.n_ShopItemID);
|
||||||
|
if (data.BuyLimit > 0) return buycount >= data.BuyLimit;
|
||||||
|
if (data.BuyLimit_Day > 0) return buycount >= data.BuyLimit_Day;
|
||||||
|
if (data.BuyLimit_Week > 0) return buycount >= data.BuyLimit_Week;
|
||||||
|
if (data.BuyLimit_Month > 0) return buycount >= data.BuyLimit_Month;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Buy_ShopItem(ShopItemListTableData data, Action afterbuy)
|
||||||
|
{
|
||||||
|
if (isShopItemSoldOut(data)) return;
|
||||||
|
|
||||||
|
switch (data.n_PriceItemID)
|
||||||
|
{
|
||||||
|
case -2: // 현금
|
||||||
|
InappInfo.Ins.Buy_InappItem(data, () =>
|
||||||
|
{
|
||||||
|
NetWait.Ins.Set(false);
|
||||||
|
afterbuy?.Invoke();
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
case -1: // 광고
|
||||||
|
ADInfo.Ins.Show_AD(() =>
|
||||||
|
{
|
||||||
|
Add_ShopBuyCount(data.n_ShopItemID);
|
||||||
|
var bag = table_randombag.Ins.Get_DataList(data.n_RandomBagID);
|
||||||
|
var obtainlist = new List<ItemSimpleData>();
|
||||||
|
for (int j = 0; j < bag.Count; j++)
|
||||||
|
obtainlist.Add(new ItemSimpleData { itemid = bag[j].n_ItemId, amount = bag[j].n_DropCount });
|
||||||
|
|
||||||
|
ServerInfo.Ins.Write(() =>
|
||||||
|
{
|
||||||
|
ObtainItemUI.Ins.Set(obtainlist);
|
||||||
|
afterbuy?.Invoke();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
if (Check_ItemAmount(data.n_PriceItemID, data.n_Price))
|
||||||
|
{
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
public int Get_ShopBuyCount(int _id)
|
public int Get_ShopBuyCount(int _id)
|
||||||
{
|
{
|
||||||
var key = Get_Key(_id);
|
var key = Get_Key(_id);
|
||||||
|
|
|
||||||
|
|
@ -32,39 +32,18 @@ public class ShopCard : CardBase
|
||||||
if (images[1].enabled) images[1].sprite = UIAtlasMgr.Ins.Get_Sprite(m_Data.n_PriceItemID);
|
if (images[1].enabled) images[1].sprite = UIAtlasMgr.Ins.Get_Sprite(m_Data.n_PriceItemID);
|
||||||
|
|
||||||
gos[0].SetActive(m_Data.n_FirstBonus > 0);
|
gos[0].SetActive(m_Data.n_FirstBonus > 0);
|
||||||
gos[1].SetActive(isSoldOut()); // 품절 여부
|
gos[1].SetActive(sdata.isShopItemSoldOut(m_Data)); // 품절 여부
|
||||||
}
|
|
||||||
|
|
||||||
bool isSoldOut()
|
|
||||||
{
|
|
||||||
var sdata = ServerInfo.Ins.m_ServerData;
|
|
||||||
var buycount = sdata.Get_ShopBuyCount(m_Data.n_ShopItemID);
|
|
||||||
if (m_Data.BuyLimit > 0) return buycount >= m_Data.BuyLimit;
|
|
||||||
if (m_Data.BuyLimit_Day > 0) return buycount >= m_Data.BuyLimit_Day;
|
|
||||||
if (m_Data.BuyLimit_Week > 0) return buycount >= m_Data.BuyLimit_Week;
|
|
||||||
if (m_Data.BuyLimit_Month > 0) return buycount >= m_Data.BuyLimit_Month;
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnClick_Buy()
|
public void OnClick_Buy()
|
||||||
{
|
{
|
||||||
if (!isSoldOut())
|
var sdata = ServerInfo.Ins.m_ServerData;
|
||||||
|
//if (!sdata.isShopItemSoldOut(m_Data))
|
||||||
{
|
{
|
||||||
if (m_Data.b_Package)
|
if (m_Data.b_Package)
|
||||||
NewGameUI.Ins.m_ShopUI.m_ShopPackagePopup.Set(m_Data);
|
NewGameUI.Ins.m_ShopUI.m_ShopPackagePopup.Set(m_Data);
|
||||||
else
|
else
|
||||||
{
|
sdata.Buy_ShopItem(m_Data, Set);
|
||||||
switch (m_Data.n_PriceItemID)
|
|
||||||
{
|
|
||||||
case -2: // 현금
|
|
||||||
InappInfo.Ins.Buy_InappItem(m_Data, () =>
|
|
||||||
{
|
|
||||||
NetWait.Ins.Set(false);
|
|
||||||
Set();
|
|
||||||
});
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -15,8 +15,7 @@ public class ShopPackagePopup : uScrollViewMgr
|
||||||
var sdata = ServerInfo.Ins.m_ServerData;
|
var sdata = ServerInfo.Ins.m_ServerData;
|
||||||
|
|
||||||
texts[0].text = m_Data.Get_Name();
|
texts[0].text = m_Data.Get_Name();
|
||||||
texts[1].text = sdata.Get_ShopLimitText(m_Data);
|
Set();
|
||||||
texts[2].text = sdata.Get_ShopPriceText(m_Data);
|
|
||||||
|
|
||||||
images[0].sprite = m_Data.Get_Icon();
|
images[0].sprite = m_Data.Get_Icon();
|
||||||
images[1].enabled = m_Data.n_PriceItemID > 0;
|
images[1].enabled = m_Data.n_PriceItemID > 0;
|
||||||
|
|
@ -25,4 +24,16 @@ public class ShopPackagePopup : uScrollViewMgr
|
||||||
var items = table_randombag.Ins.Get_DataList(m_Data.n_RandomBagID);
|
var items = table_randombag.Ins.Get_DataList(m_Data.n_RandomBagID);
|
||||||
Set_ScrollView(items);
|
Set_ScrollView(items);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override void Set()
|
||||||
|
{
|
||||||
|
var sdata = ServerInfo.Ins.m_ServerData;
|
||||||
|
texts[1].text = sdata.Get_ShopLimitText(m_Data);
|
||||||
|
texts[2].text = sdata.Get_ShopPriceText(m_Data);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void OnClick_Buy()
|
||||||
|
{
|
||||||
|
ServerInfo.Ins.m_ServerData.Buy_ShopItem(m_Data, Set);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue