일반 상점 작업 중...
This commit is contained in:
parent
43662cda87
commit
560d6db9fe
|
|
@ -1,17 +1,17 @@
|
|||
[{"s_ID": "package_one", "e_InAppInitType": "Week", "e_BuyType": "IAP", "s_Name": "Only One 패키지", "n_Price": "1000", "s_PeakEffective": "275% 효율", "s_Icon": "shop money icon 1_shop", "s_Items": "하트 코인 x40
|
||||
채팅 코인 x20", "n_RewardHeart": "40", "n_RewardChatCoin": "20", "n_RewardGacha": "0", "n_BonusGameRefill": "0", "b_AdRemove": "False", "b_InfinityMiniGame": "False", "b_LuckyGameCharge": "False"}, {"s_ID": "package_minigame", "e_InAppInitType": "One1", "e_BuyType": "IAP", "s_Name": "Free 게임 패키지", "n_Price": "9900", "s_PeakEffective": "", "s_Icon": "shop money icon 2_shop", "s_Items": "보너스 게임
|
||||
[{"s_ID": "package_one", "e_InAppInitType": "Week", "e_BuyType": "IAP", "s_Name": "Only One 패키지", "n_Price": "1000", "n_Limit": "0", "s_PeakEffective": "275% 효율", "s_Icon": "shop money icon 1_shop", "s_Items": "하트 코인 x40
|
||||
채팅 코인 x20", "n_RewardHeart": "40", "n_RewardChatCoin": "20", "n_RewardGacha": "0", "n_BonusGameRefill": "0", "b_AdRemove": "False", "b_InfinityMiniGame": "False", "b_LuckyGameCharge": "False"}, {"s_ID": "package_minigame", "e_InAppInitType": "One1", "e_BuyType": "IAP", "s_Name": "Free 게임 패키지", "n_Price": "9900", "n_Limit": "0", "s_PeakEffective": "", "s_Icon": "shop money icon 2_shop", "s_Items": "보너스 게임
|
||||
리필 횟수 +1
|
||||
|
||||
수집 게임 무제한 입장", "n_RewardHeart": "0", "n_RewardChatCoin": "0", "n_RewardGacha": "0", "n_BonusGameRefill": "1", "b_AdRemove": "False", "b_InfinityMiniGame": "True", "b_LuckyGameCharge": "False"}, {"s_ID": "package_gacha", "e_InAppInitType": "One2", "e_BuyType": "IAP", "s_Name": "무한 뽑기 패키지", "n_Price": "25000", "s_PeakEffective": "", "s_Icon": "shop money icon 2_shop", "s_Items": "보너스 게임
|
||||
수집 게임 무제한 입장", "n_RewardHeart": "0", "n_RewardChatCoin": "0", "n_RewardGacha": "0", "n_BonusGameRefill": "1", "b_AdRemove": "False", "b_InfinityMiniGame": "True", "b_LuckyGameCharge": "False"}, {"s_ID": "package_gacha", "e_InAppInitType": "One2", "e_BuyType": "IAP", "s_Name": "무한 뽑기 패키지", "n_Price": "25000", "n_Limit": "0", "s_PeakEffective": "", "s_Icon": "shop money icon 2_shop", "s_Items": "보너스 게임
|
||||
리필 횟수 +1
|
||||
|
||||
뽑기 무료 충전 시간
|
||||
90% 감소", "n_RewardHeart": "0", "n_RewardChatCoin": "0", "n_RewardGacha": "0", "n_BonusGameRefill": "1", "b_AdRemove": "False", "b_InfinityMiniGame": "False", "b_LuckyGameCharge": "True"}, {"s_ID": "package_sale", "e_InAppInitType": "Disable_Buy1", "e_BuyType": "IAP", "s_Name": "초특가 패키지", "n_Price": "25000", "s_PeakEffective": "158% 효율", "s_Icon": "shop money icon 3_shop", "s_Items": "하트 코인 x300
|
||||
90% 감소", "n_RewardHeart": "0", "n_RewardChatCoin": "0", "n_RewardGacha": "0", "n_BonusGameRefill": "1", "b_AdRemove": "False", "b_InfinityMiniGame": "False", "b_LuckyGameCharge": "True"}, {"s_ID": "package_sale", "e_InAppInitType": "Disable_Buy1", "e_BuyType": "IAP", "s_Name": "초특가 패키지", "n_Price": "25000", "n_Limit": "0", "s_PeakEffective": "158% 효율", "s_Icon": "shop money icon 3_shop", "s_Items": "하트 코인 x300
|
||||
채팅 코인 x10
|
||||
뽑기 재화 x20", "n_RewardHeart": "300", "n_RewardChatCoin": "10", "n_RewardGacha": "20", "n_BonusGameRefill": "0", "b_AdRemove": "False", "b_InfinityMiniGame": "False", "b_LuckyGameCharge": "False"}, {"s_ID": "package_all", "e_InAppInitType": "Disable_Buy2", "e_BuyType": "IAP", "s_Name": "올인원 패키지", "n_Price": "55000", "s_PeakEffective": "197% 효율", "s_Icon": "shop money icon 3_shop", "s_Items": "하트 코인 x2000
|
||||
뽑기 재화 x20", "n_RewardHeart": "300", "n_RewardChatCoin": "10", "n_RewardGacha": "20", "n_BonusGameRefill": "0", "b_AdRemove": "False", "b_InfinityMiniGame": "False", "b_LuckyGameCharge": "False"}, {"s_ID": "package_all", "e_InAppInitType": "Disable_Buy2", "e_BuyType": "IAP", "s_Name": "올인원 패키지", "n_Price": "55000", "n_Limit": "0", "s_PeakEffective": "197% 효율", "s_Icon": "shop money icon 3_shop", "s_Items": "하트 코인 x2000
|
||||
채팅 코인 x100
|
||||
뽑기 재화 x100", "n_RewardHeart": "2000", "n_RewardChatCoin": "100", "n_RewardGacha": "100", "n_BonusGameRefill": "0", "b_AdRemove": "False", "b_InfinityMiniGame": "False", "b_LuckyGameCharge": "False"}, {"s_ID": "package_chat1", "e_InAppInitType": "None", "e_BuyType": "IAP", "s_Name": "챗봇 패키지1", "n_Price": "5500", "s_PeakEffective": "105% 효율", "s_Icon": "shop money icon 4_shop", "s_Items": "하트 코인 x55
|
||||
채팅 코인 x60", "n_RewardHeart": "55", "n_RewardChatCoin": "60", "n_RewardGacha": "0", "n_BonusGameRefill": "0", "b_AdRemove": "False", "b_InfinityMiniGame": "False", "b_LuckyGameCharge": "False"}, {"s_ID": "package_chat2", "e_InAppInitType": "None", "e_BuyType": "IAP", "s_Name": "챗봇 패키지2", "n_Price": "9900", "s_PeakEffective": "112% 효율", "s_Icon": "shop money icon 4_shop", "s_Items": "하트 코인 x100
|
||||
채팅 코인 x120", "n_RewardHeart": "100", "n_RewardChatCoin": "120", "n_RewardGacha": "0", "n_BonusGameRefill": "0", "b_AdRemove": "False", "b_InfinityMiniGame": "False", "b_LuckyGameCharge": "False"}, {"s_ID": "package_chat3", "e_InAppInitType": "None", "e_BuyType": "IAP", "s_Name": "챗봇 패키지3", "n_Price": "22000", "s_PeakEffective": "122% 효율", "s_Icon": "shop money icon 5_shop", "s_Items": "하트 코인 x240
|
||||
채팅 코인 x300", "n_RewardHeart": "240", "n_RewardChatCoin": "300", "n_RewardGacha": "0", "n_BonusGameRefill": "0", "b_AdRemove": "False", "b_InfinityMiniGame": "False", "b_LuckyGameCharge": "False"}, {"s_ID": "package_chat4", "e_InAppInitType": "None", "e_BuyType": "IAP", "s_Name": "챗봇 패키지4", "n_Price": "55000", "s_PeakEffective": "144% 효율", "s_Icon": "shop money icon 5_shop", "s_Items": "하트 코인 x700
|
||||
채팅 코인 x900", "n_RewardHeart": "700", "n_RewardChatCoin": "900", "n_RewardGacha": "0", "n_BonusGameRefill": "0", "b_AdRemove": "False", "b_InfinityMiniGame": "False", "b_LuckyGameCharge": "False"}, {"s_ID": "ad.heartcoin", "e_InAppInitType": "None", "e_BuyType": "AD", "s_Name": "", "n_Price": "0", "s_PeakEffective": "", "s_Icon": "shop money icon 8_shop", "s_Items": "하트 코인 x10", "n_RewardHeart": "10", "n_RewardChatCoin": "0", "n_RewardGacha": "0", "n_BonusGameRefill": "0", "b_AdRemove": "False", "b_InfinityMiniGame": "False", "b_LuckyGameCharge": "False"}, {"s_ID": "ad.chatcoin", "e_InAppInitType": "None", "e_BuyType": "AD", "s_Name": "", "n_Price": "0", "s_PeakEffective": "", "s_Icon": "shop money icon 9_shop", "s_Items": "채팅 코인 x3", "n_RewardHeart": "0", "n_RewardChatCoin": "3", "n_RewardGacha": "0", "n_BonusGameRefill": "0", "b_AdRemove": "False", "b_InfinityMiniGame": "False", "b_LuckyGameCharge": "False"}, {"s_ID": "buy.chatcoin.coin", "e_InAppInitType": "None", "e_BuyType": "Coin", "s_Name": "", "n_Price": "50", "s_PeakEffective": "", "s_Icon": "shop money icon 10_shop", "s_Items": "채팅 코인 x1", "n_RewardHeart": "0", "n_RewardChatCoin": "1", "n_RewardGacha": "0", "n_BonusGameRefill": "0", "b_AdRemove": "False", "b_InfinityMiniGame": "False", "b_LuckyGameCharge": "False"}, {"s_ID": "buy.gachacoin.heart", "e_InAppInitType": "None", "e_BuyType": "Heart", "s_Name": "", "n_Price": "10", "s_PeakEffective": "", "s_Icon": "shop money icon 11_shop", "s_Items": "뽑기 재화 x30", "n_RewardHeart": "0", "n_RewardChatCoin": "0", "n_RewardGacha": "30", "n_BonusGameRefill": "0", "b_AdRemove": "False", "b_InfinityMiniGame": "False", "b_LuckyGameCharge": "False"}, {"s_ID": "buy.chatcoin.heart", "e_InAppInitType": "None", "e_BuyType": "Heart", "s_Name": "", "n_Price": "10", "s_PeakEffective": "", "s_Icon": "shop money icon 9_shop", "s_Items": "채팅 코인 x3", "n_RewardHeart": "0", "n_RewardChatCoin": "3", "n_RewardGacha": "0", "n_BonusGameRefill": "0", "b_AdRemove": "False", "b_InfinityMiniGame": "False", "b_LuckyGameCharge": "False"}, {"s_ID": "heartcoin_1000", "e_InAppInitType": "None", "e_BuyType": "IAP", "s_Name": "", "n_Price": "1100", "s_PeakEffective": "", "s_Icon": "shop money icon 8_shop", "s_Items": "하트 코인 x20", "n_RewardHeart": "20", "n_RewardChatCoin": "0", "n_RewardGacha": "0", "n_BonusGameRefill": "0", "b_AdRemove": "False", "b_InfinityMiniGame": "False", "b_LuckyGameCharge": "False"}, {"s_ID": "heartcoin_7000", "e_InAppInitType": "None", "e_BuyType": "IAP", "s_Name": "", "n_Price": "7700", "s_PeakEffective": "107% 효율", "s_Icon": "shop money icon 12_shop", "s_Items": "하트 코인 x150", "n_RewardHeart": "150", "n_RewardChatCoin": "0", "n_RewardGacha": "0", "n_BonusGameRefill": "0", "b_AdRemove": "False", "b_InfinityMiniGame": "False", "b_LuckyGameCharge": "False"}, {"s_ID": "heartcoin_25000", "e_InAppInitType": "None", "e_BuyType": "IAP", "s_Name": "", "n_Price": "27500", "s_PeakEffective": "120% 효율", "s_Icon": "shop money icon 13_shop", "s_Items": "하트 코인 x600", "n_RewardHeart": "600", "n_RewardChatCoin": "0", "n_RewardGacha": "0", "n_BonusGameRefill": "0", "b_AdRemove": "False", "b_InfinityMiniGame": "False", "b_LuckyGameCharge": "False"}, {"s_ID": "chatcoin_1000", "e_InAppInitType": "None", "e_BuyType": "IAP", "s_Name": "", "n_Price": "1100", "s_PeakEffective": "", "s_Icon": "shop money icon 10_shop", "s_Items": "채팅 코인 x10", "n_RewardHeart": "0", "n_RewardChatCoin": "10", "n_RewardGacha": "0", "n_BonusGameRefill": "0", "b_AdRemove": "False", "b_InfinityMiniGame": "False", "b_LuckyGameCharge": "False"}, {"s_ID": "chatcoin_7000", "e_InAppInitType": "None", "e_BuyType": "IAP", "s_Name": "", "n_Price": "7700", "s_PeakEffective": "107% 효율", "s_Icon": "shop money icon 14_shop", "s_Items": "채팅 코인 x75", "n_RewardHeart": "0", "n_RewardChatCoin": "75", "n_RewardGacha": "0", "n_BonusGameRefill": "0", "b_AdRemove": "False", "b_InfinityMiniGame": "False", "b_LuckyGameCharge": "False"}, {"s_ID": "chatcoin_25000", "e_InAppInitType": "None", "e_BuyType": "IAP", "s_Name": "", "n_Price": "27500", "s_PeakEffective": "120% 효율", "s_Icon": "shop money icon 15_shop", "s_Items": "채팅 코인 x300", "n_RewardHeart": "0", "n_RewardChatCoin": "300", "n_RewardGacha": "0", "n_BonusGameRefill": "0", "b_AdRemove": "False", "b_InfinityMiniGame": "False", "b_LuckyGameCharge": "False"}]
|
||||
뽑기 재화 x100", "n_RewardHeart": "2000", "n_RewardChatCoin": "100", "n_RewardGacha": "100", "n_BonusGameRefill": "0", "b_AdRemove": "False", "b_InfinityMiniGame": "False", "b_LuckyGameCharge": "False"}, {"s_ID": "package_chat1", "e_InAppInitType": "None", "e_BuyType": "IAP", "s_Name": "챗봇 패키지1", "n_Price": "5500", "n_Limit": "0", "s_PeakEffective": "105% 효율", "s_Icon": "shop money icon 4_shop", "s_Items": "하트 코인 x55
|
||||
채팅 코인 x60", "n_RewardHeart": "55", "n_RewardChatCoin": "60", "n_RewardGacha": "0", "n_BonusGameRefill": "0", "b_AdRemove": "False", "b_InfinityMiniGame": "False", "b_LuckyGameCharge": "False"}, {"s_ID": "package_chat2", "e_InAppInitType": "None", "e_BuyType": "IAP", "s_Name": "챗봇 패키지2", "n_Price": "9900", "n_Limit": "0", "s_PeakEffective": "112% 효율", "s_Icon": "shop money icon 4_shop", "s_Items": "하트 코인 x100
|
||||
채팅 코인 x120", "n_RewardHeart": "100", "n_RewardChatCoin": "120", "n_RewardGacha": "0", "n_BonusGameRefill": "0", "b_AdRemove": "False", "b_InfinityMiniGame": "False", "b_LuckyGameCharge": "False"}, {"s_ID": "package_chat3", "e_InAppInitType": "None", "e_BuyType": "IAP", "s_Name": "챗봇 패키지3", "n_Price": "22000", "n_Limit": "0", "s_PeakEffective": "122% 효율", "s_Icon": "shop money icon 5_shop", "s_Items": "하트 코인 x240
|
||||
채팅 코인 x300", "n_RewardHeart": "240", "n_RewardChatCoin": "300", "n_RewardGacha": "0", "n_BonusGameRefill": "0", "b_AdRemove": "False", "b_InfinityMiniGame": "False", "b_LuckyGameCharge": "False"}, {"s_ID": "package_chat4", "e_InAppInitType": "None", "e_BuyType": "IAP", "s_Name": "챗봇 패키지4", "n_Price": "55000", "n_Limit": "0", "s_PeakEffective": "144% 효율", "s_Icon": "shop money icon 5_shop", "s_Items": "하트 코인 x700
|
||||
채팅 코인 x900", "n_RewardHeart": "700", "n_RewardChatCoin": "900", "n_RewardGacha": "0", "n_BonusGameRefill": "0", "b_AdRemove": "False", "b_InfinityMiniGame": "False", "b_LuckyGameCharge": "False"}, {"s_ID": "ad.heartcoin", "e_InAppInitType": "None", "e_BuyType": "AD", "s_Name": "", "n_Price": "0", "n_Limit": "3", "s_PeakEffective": "", "s_Icon": "shop money icon 8_shop", "s_Items": "하트 코인 x10", "n_RewardHeart": "10", "n_RewardChatCoin": "0", "n_RewardGacha": "0", "n_BonusGameRefill": "0", "b_AdRemove": "False", "b_InfinityMiniGame": "False", "b_LuckyGameCharge": "False"}, {"s_ID": "ad.chatcoin", "e_InAppInitType": "None", "e_BuyType": "AD", "s_Name": "", "n_Price": "0", "n_Limit": "3", "s_PeakEffective": "", "s_Icon": "shop money icon 9_shop", "s_Items": "채팅 코인 x3", "n_RewardHeart": "0", "n_RewardChatCoin": "3", "n_RewardGacha": "0", "n_BonusGameRefill": "0", "b_AdRemove": "False", "b_InfinityMiniGame": "False", "b_LuckyGameCharge": "False"}, {"s_ID": "buy.chatcoin.coin", "e_InAppInitType": "None", "e_BuyType": "Coin", "s_Name": "", "n_Price": "50", "n_Limit": "3", "s_PeakEffective": "", "s_Icon": "shop money icon 10_shop", "s_Items": "채팅 코인 x1", "n_RewardHeart": "0", "n_RewardChatCoin": "1", "n_RewardGacha": "0", "n_BonusGameRefill": "0", "b_AdRemove": "False", "b_InfinityMiniGame": "False", "b_LuckyGameCharge": "False"}, {"s_ID": "buy.gachacoin.heart", "e_InAppInitType": "None", "e_BuyType": "Heart", "s_Name": "", "n_Price": "10", "n_Limit": "0", "s_PeakEffective": "", "s_Icon": "shop money icon 11_shop", "s_Items": "뽑기 재화 x30", "n_RewardHeart": "0", "n_RewardChatCoin": "0", "n_RewardGacha": "30", "n_BonusGameRefill": "0", "b_AdRemove": "False", "b_InfinityMiniGame": "False", "b_LuckyGameCharge": "False"}, {"s_ID": "buy.chatcoin.heart", "e_InAppInitType": "None", "e_BuyType": "Heart", "s_Name": "", "n_Price": "10", "n_Limit": "0", "s_PeakEffective": "", "s_Icon": "shop money icon 9_shop", "s_Items": "채팅 코인 x3", "n_RewardHeart": "0", "n_RewardChatCoin": "3", "n_RewardGacha": "0", "n_BonusGameRefill": "0", "b_AdRemove": "False", "b_InfinityMiniGame": "False", "b_LuckyGameCharge": "False"}, {"s_ID": "heartcoin_1000", "e_InAppInitType": "None", "e_BuyType": "IAP", "s_Name": "", "n_Price": "1100", "n_Limit": "0", "s_PeakEffective": "", "s_Icon": "shop money icon 8_shop", "s_Items": "하트 코인 x20", "n_RewardHeart": "20", "n_RewardChatCoin": "0", "n_RewardGacha": "0", "n_BonusGameRefill": "0", "b_AdRemove": "False", "b_InfinityMiniGame": "False", "b_LuckyGameCharge": "False"}, {"s_ID": "heartcoin_7000", "e_InAppInitType": "None", "e_BuyType": "IAP", "s_Name": "", "n_Price": "7700", "n_Limit": "0", "s_PeakEffective": "107% 효율", "s_Icon": "shop money icon 12_shop", "s_Items": "하트 코인 x150", "n_RewardHeart": "150", "n_RewardChatCoin": "0", "n_RewardGacha": "0", "n_BonusGameRefill": "0", "b_AdRemove": "False", "b_InfinityMiniGame": "False", "b_LuckyGameCharge": "False"}, {"s_ID": "heartcoin_25000", "e_InAppInitType": "None", "e_BuyType": "IAP", "s_Name": "", "n_Price": "27500", "n_Limit": "0", "s_PeakEffective": "120% 효율", "s_Icon": "shop money icon 13_shop", "s_Items": "하트 코인 x600", "n_RewardHeart": "600", "n_RewardChatCoin": "0", "n_RewardGacha": "0", "n_BonusGameRefill": "0", "b_AdRemove": "False", "b_InfinityMiniGame": "False", "b_LuckyGameCharge": "False"}, {"s_ID": "chatcoin_1000", "e_InAppInitType": "None", "e_BuyType": "IAP", "s_Name": "", "n_Price": "1100", "n_Limit": "0", "s_PeakEffective": "", "s_Icon": "shop money icon 10_shop", "s_Items": "채팅 코인 x10", "n_RewardHeart": "0", "n_RewardChatCoin": "10", "n_RewardGacha": "0", "n_BonusGameRefill": "0", "b_AdRemove": "False", "b_InfinityMiniGame": "False", "b_LuckyGameCharge": "False"}, {"s_ID": "chatcoin_7000", "e_InAppInitType": "None", "e_BuyType": "IAP", "s_Name": "", "n_Price": "7700", "n_Limit": "0", "s_PeakEffective": "107% 효율", "s_Icon": "shop money icon 14_shop", "s_Items": "채팅 코인 x75", "n_RewardHeart": "0", "n_RewardChatCoin": "75", "n_RewardGacha": "0", "n_BonusGameRefill": "0", "b_AdRemove": "False", "b_InfinityMiniGame": "False", "b_LuckyGameCharge": "False"}, {"s_ID": "chatcoin_25000", "e_InAppInitType": "None", "e_BuyType": "IAP", "s_Name": "", "n_Price": "27500", "n_Limit": "0", "s_PeakEffective": "120% 효율", "s_Icon": "shop money icon 15_shop", "s_Items": "채팅 코인 x300", "n_RewardHeart": "0", "n_RewardChatCoin": "300", "n_RewardGacha": "0", "n_BonusGameRefill": "0", "b_AdRemove": "False", "b_InfinityMiniGame": "False", "b_LuckyGameCharge": "False"}]
|
||||
Binary file not shown.
|
|
@ -13,10 +13,22 @@ public class shoptabledata
|
|||
public eInAppInitType e_InAppInitType;
|
||||
public eShopBuyType e_BuyType;
|
||||
ProtectedInt32 _Price; public int n_Price { get { return _Price; } set { _Price = value; _Price.Obfuscate(); } }
|
||||
ProtectedInt32 _Limit; public int n_Limit { get { return _Limit; } set { _Limit = value; _Limit.Obfuscate(); } }
|
||||
ProtectedInt32 _RewardHeart; public int n_RewardHeart { get { return _RewardHeart; } set { _RewardHeart = value; _RewardHeart.Obfuscate(); } }
|
||||
ProtectedInt32 _RewardChatCoin; public int n_RewardChatCoin { get { return _RewardChatCoin; } set { _RewardChatCoin = value; _RewardChatCoin.Obfuscate(); } }
|
||||
ProtectedInt32 _RewardGacha; public int n_RewardGacha { get { return _RewardGacha; } set { _RewardGacha = value; _RewardGacha.Obfuscate(); } }
|
||||
ProtectedInt32 _BonusGameRefill; public int n_BonusGameRefill { get { return _BonusGameRefill; } set { _BonusGameRefill = value; _BonusGameRefill.Obfuscate(); } }
|
||||
ProtectedBool _AdRemove; public bool b_AdRemove { get { return _AdRemove; } set { _AdRemove = value; _AdRemove.Obfuscate(); } }
|
||||
ProtectedBool _InfinityMiniGame; public bool b_InfinityMiniGame { get { return _InfinityMiniGame; } set { _InfinityMiniGame = value; _InfinityMiniGame.Obfuscate(); } }
|
||||
ProtectedBool _LuckyGameCharge; public bool b_LuckyGameCharge { get { return _LuckyGameCharge; } set { _LuckyGameCharge = value; _LuckyGameCharge.Obfuscate(); } }
|
||||
|
||||
public string Get_Amount()
|
||||
{
|
||||
if (n_RewardHeart > 0) return n_RewardHeart.ToString();
|
||||
if (n_RewardChatCoin > 0) return n_RewardChatCoin.ToString();
|
||||
if (n_RewardGacha > 0) return n_RewardGacha.ToString();
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
public class table_shop : table_base
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ TextureImporter:
|
|||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteBorder: {x: 155, y: 29, z: 149, w: 31}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
|
|
@ -134,7 +134,7 @@ TextureImporter:
|
|||
width: 335
|
||||
height: 83
|
||||
alignment: 0
|
||||
pivot: {x: 0, y: 0}
|
||||
pivot: {x: 0.5, y: 0.5}
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
customData:
|
||||
outline: []
|
||||
|
|
@ -152,7 +152,7 @@ TextureImporter:
|
|||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
internalID: 1537655665
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -169,7 +169,7 @@ public class ADInfo : MonoBehaviourSingletonTemplate<ADInfo>
|
|||
|
||||
if (bshort)
|
||||
{
|
||||
if (SaveMgr.Ins.Get_ShopAD()) // 리워드형 광고가 아니면 제거
|
||||
if (SaveMgr.Ins.Get_ShopNoAD()) // 리워드형 광고가 아니면 제거
|
||||
{
|
||||
GetReward = 1;
|
||||
return;
|
||||
|
|
@ -250,7 +250,7 @@ public class ADInfo : MonoBehaviourSingletonTemplate<ADInfo>
|
|||
//// 배너 광고 요청 및 표시
|
||||
//var adRequest = new AdRequest();
|
||||
//_bannerView.LoadAd(adRequest);
|
||||
if (!SaveMgr.Ins.Get_ShopAD())
|
||||
if (!SaveMgr.Ins.Get_ShopNoAD())
|
||||
_bannerView.Show();
|
||||
}
|
||||
else
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ using GUPS.AntiCheat.Protected;
|
|||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using TigerForge;
|
||||
using UnityEngine;
|
||||
|
||||
|
|
@ -201,6 +202,8 @@ public class SaveMgr : MonoBehaviourSingletonTemplate<SaveMgr>
|
|||
if (m_SaveData.Attendance >= 7)
|
||||
m_SaveData.Attendance = 0;
|
||||
|
||||
m_SaveData.list_ShopLimit.ForEach(f => f.Count = 0);
|
||||
|
||||
Save();
|
||||
}
|
||||
public void WeeklyCheck(int woy)
|
||||
|
|
@ -267,6 +270,39 @@ public class SaveMgr : MonoBehaviourSingletonTemplate<SaveMgr>
|
|||
return count;
|
||||
}
|
||||
|
||||
public void Set_ShopReward(shoptabledata data)
|
||||
{
|
||||
Add_Money(eMoney.AlbumOpen, data.n_RewardHeart);
|
||||
Add_Money(eMoney.Chat, data.n_RewardChatCoin);
|
||||
Add_Money(eMoney.Gacha, data.n_RewardGacha);
|
||||
Set_ShopInit(data.e_InAppInitType);
|
||||
|
||||
if (!m_SaveData.NoAD && data.b_AdRemove)
|
||||
{
|
||||
m_SaveData.NoAD = data.b_AdRemove;
|
||||
ADInfo.Ins.Set_Banner(false);
|
||||
SetBannerPos.Run();
|
||||
}
|
||||
|
||||
m_SaveData.BonusGameRefill += data.n_BonusGameRefill;
|
||||
|
||||
if (!m_SaveData.InfinityMiniGame && data.b_InfinityMiniGame)
|
||||
m_SaveData.InfinityMiniGame = data.b_InfinityMiniGame;
|
||||
|
||||
if (!m_SaveData.LuckyGameCharge && data.b_LuckyGameCharge)
|
||||
m_SaveData.LuckyGameCharge = data.b_LuckyGameCharge;
|
||||
|
||||
if (data.n_Limit > 0)
|
||||
{
|
||||
var adData = m_SaveData.list_ShopLimit.Find(f => f.ShopID.Equals(data.s_ID));
|
||||
if (adData == null)
|
||||
m_SaveData.list_ShopLimit.Add(new ShopADSaveData { ShopID = data.s_ID, Count = 1 });
|
||||
else
|
||||
++adData.Count;
|
||||
}
|
||||
|
||||
Save();
|
||||
}
|
||||
public bool CanShowGachaAD(bool showtoast = true)
|
||||
{
|
||||
var cal = m_SaveData.GachaADTime - InternetTime.Ins.Time;
|
||||
|
|
@ -312,16 +348,13 @@ public class SaveMgr : MonoBehaviourSingletonTemplate<SaveMgr>
|
|||
case eInAppInitType.One2: m_SaveData.BuyShopOne2 = true; break;
|
||||
}
|
||||
}
|
||||
public void Set_ShopAD(bool noad)
|
||||
public bool Get_ShopNoAD() { return m_SaveData.NoAD; }
|
||||
public int Get_ShopLimitCount(string id)
|
||||
{
|
||||
if (!m_SaveData.NoAD)
|
||||
{
|
||||
m_SaveData.NoAD = noad;
|
||||
ADInfo.Ins.Set_Banner(false);
|
||||
SetBannerPos.Run();
|
||||
var data = m_SaveData.list_ShopLimit.Find(f => f.ShopID.Equals(id));
|
||||
return data != null ? data.Count : 0;
|
||||
}
|
||||
}
|
||||
public bool Get_ShopAD() { return m_SaveData.NoAD; }
|
||||
|
||||
|
||||
public class SaveData
|
||||
{
|
||||
|
|
@ -339,6 +372,7 @@ public class SaveMgr : MonoBehaviourSingletonTemplate<SaveMgr>
|
|||
ProtectedInt32 _MoneyGacha; public int MoneyGacha { get { return _MoneyGacha; } set { _MoneyGacha = value; _MoneyGacha.Obfuscate(); } }
|
||||
ProtectedInt32 _MoneyLucky; public int MoneyLucky { get { return _MoneyLucky; } set { _MoneyLucky = value; _MoneyLucky.Obfuscate(); } }
|
||||
ProtectedInt32 _MiniGameHP; public int MiniGameHP { get { return _MiniGameHP; } set { _MiniGameHP = value; _MiniGameHP.Obfuscate(); } }
|
||||
ProtectedInt32 _BonusGameRefill; public int BonusGameRefill { get { return _BonusGameRefill; } set { _BonusGameRefill = value; _BonusGameRefill.Obfuscate(); } }
|
||||
//ProtectedInt32 _ItemBomb; public int ItemBomb { get { return _ItemBomb; } set { _ItemBomb = value; _ItemBomb.Obfuscate(); } }
|
||||
//ProtectedInt32 _ItemUmbrella; public int ItemUmbrella { get { return _ItemUmbrella; } set { _ItemUmbrella = value; _ItemUmbrella.Obfuscate(); } }
|
||||
//ProtectedInt32 _ItemDildo; public int ItemDildo { get { return _ItemDildo; } set { _ItemDildo = value; _ItemDildo.Obfuscate(); } }
|
||||
|
|
@ -348,9 +382,19 @@ public class SaveMgr : MonoBehaviourSingletonTemplate<SaveMgr>
|
|||
ProtectedDateTime _ShopADTime; public DateTime ShopADTime { get { return _ShopADTime; } set { _ShopADTime = value; _ShopADTime.Obfuscate(); } }
|
||||
|
||||
ProtectedBool _NoAD; public bool NoAD { get { return _NoAD; } set { _NoAD = value; _NoAD.Obfuscate(); } }
|
||||
ProtectedBool _InfinityMiniGame; public bool InfinityMiniGame { get { return _InfinityMiniGame; } set { _InfinityMiniGame = value; _InfinityMiniGame.Obfuscate(); } }
|
||||
ProtectedBool _LuckyGameCharge; public bool LuckyGameCharge { get { return _LuckyGameCharge; } set { _LuckyGameCharge = value; _LuckyGameCharge.Obfuscate(); } }
|
||||
ProtectedBool _BuyShopWeekly; public bool BuyShopWeekly { get { return _BuyShopWeekly; } set { _BuyShopWeekly = value; _BuyShopWeekly.Obfuscate(); } }
|
||||
ProtectedBool _BuyShopMiniGame; public bool BuyShopMiniGame { get { return _BuyShopMiniGame; } set { _BuyShopMiniGame = value; _BuyShopMiniGame.Obfuscate(); } }
|
||||
ProtectedBool _BuyShopOne1; public bool BuyShopOne1 { get { return _BuyShopOne1; } set { _BuyShopOne1 = value; _BuyShopOne1.Obfuscate(); } }
|
||||
ProtectedBool _BuyShopOne2; public bool BuyShopOne2 { get { return _BuyShopOne2; } set { _BuyShopOne2 = value; _BuyShopOne2.Obfuscate(); } }
|
||||
|
||||
public List<ShopADSaveData> list_ShopLimit = new List<ShopADSaveData>();
|
||||
}
|
||||
|
||||
public class ShopADSaveData
|
||||
{
|
||||
public string ShopID;
|
||||
ProtectedInt32 _Count; public int Count { get { return _Count; } set { _Count = value; _Count.Obfuscate(); } }
|
||||
}
|
||||
}
|
||||
|
|
@ -2,53 +2,107 @@ using TMPro;
|
|||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
#if UNITY_EDITOR
|
||||
using UnityEditor;
|
||||
|
||||
[CustomEditor(typeof(ShopCard))]
|
||||
public class ShopCardEditor : Editor
|
||||
{
|
||||
public override void OnInspectorGUI()
|
||||
{
|
||||
base.OnInspectorGUI();
|
||||
|
||||
ShopCard shopCard = (ShopCard)target;
|
||||
|
||||
if (GUILayout.Button("Auto Link Components"))
|
||||
{
|
||||
shopCard.AutoLink();
|
||||
EditorUtility.SetDirty(shopCard); // 변경 사항 저장
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
public class ShopCard : MonoBehaviour
|
||||
{
|
||||
public string m_ID;
|
||||
public Image i_shopitem;
|
||||
public TextMeshProUGUI t_name, t_peakefficiency;
|
||||
public TextMeshProUGUI t_goods;
|
||||
public TextMeshProUGUI t_price;
|
||||
public GameObject go_BuyComplete;
|
||||
public TextMeshProUGUI t_amount, t_goods;
|
||||
public TextMeshProUGUI t_price, t_limit, t_pricelimit;
|
||||
public GameObject go_btnbuy, go_btnbuylimit, go_initDesc, go_BuyComplete;
|
||||
|
||||
shoptabledata m_Data;
|
||||
|
||||
#if UNITY_EDITOR
|
||||
private void Reset()
|
||||
// 자동 연결 함수 (버튼에서 호출)
|
||||
public void AutoLink()
|
||||
{
|
||||
i_shopitem = DSUtil.Get_Child_T<Image>(gameObject, "i_shopitem");
|
||||
t_name = DSUtil.Get_Child_T<TextMeshProUGUI>(gameObject, "t_name");
|
||||
t_peakefficiency = DSUtil.Get_Child_T<TextMeshProUGUI>(gameObject, "t_peakefficiency");
|
||||
t_amount = DSUtil.Get_Child_T<TextMeshProUGUI>(gameObject, "t_amount");
|
||||
t_goods = DSUtil.Get_Child_T<TextMeshProUGUI>(gameObject, "t_goods");
|
||||
t_price = DSUtil.Get_Child_T<TextMeshProUGUI>(gameObject, "t_price");
|
||||
t_limit = DSUtil.Get_Child_T<TextMeshProUGUI>(gameObject, "t_limit");
|
||||
t_pricelimit = DSUtil.Get_Child_T<TextMeshProUGUI>(gameObject, "t_pricelimit");
|
||||
go_BuyComplete = DSUtil.Get_Child_GameObject(gameObject, "BuyComplete");
|
||||
go_initDesc = DSUtil.Get_Child_GameObject(gameObject, "go_initDesc");
|
||||
go_btnbuy = DSUtil.Get_Child_GameObject(gameObject, "btn_buy");
|
||||
go_btnbuylimit = DSUtil.Get_Child_GameObject(gameObject, "btn_buylimit");
|
||||
}
|
||||
#endif
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
var btn = DSUtil.Get_Child_T<Button>(gameObject, "btn_buy");
|
||||
var btn = go_btnbuy.GetComponent<Button>();
|
||||
btn.onClick.RemoveAllListeners();
|
||||
btn.onClick.AddListener(OnClick_Button);
|
||||
|
||||
if (go_btnbuylimit != null)
|
||||
{
|
||||
var btnlimit = go_btnbuylimit.GetComponent<Button>();
|
||||
btnlimit.onClick.RemoveAllListeners();
|
||||
btnlimit.onClick.AddListener(OnClick_Button);
|
||||
}
|
||||
}
|
||||
|
||||
private void OnEnable()
|
||||
{
|
||||
m_Data = table_shop.Ins.Get_Data(m_ID);
|
||||
i_shopitem.sprite = UIAtlasMgr.Ins.Get_Sprite(m_Data.s_Icon);
|
||||
i_shopitem.SetNativeSize();
|
||||
if (t_peakefficiency != null) t_peakefficiency.text = m_Data.s_PeakEffective;
|
||||
t_name.text = m_Data.s_Name;
|
||||
if (t_amount != null) t_amount.text = m_Data.Get_Amount();
|
||||
if (t_name != null) t_name.text = m_Data.s_Name;
|
||||
t_goods.text = m_Data.s_Items;
|
||||
if (go_initDesc != null) go_initDesc.SetActive(m_Data.n_Limit > 0);
|
||||
if (m_Data.n_Limit > 0)
|
||||
{
|
||||
go_btnbuy.SetActive(true);
|
||||
if (go_btnbuylimit != null)
|
||||
{
|
||||
go_btnbuylimit.SetActive(true);
|
||||
if (go_btnbuy != null)
|
||||
go_btnbuy.SetActive(false);
|
||||
t_pricelimit.text = m_Data.e_BuyType == eShopBuyType.IAP ? $"{m_Data.n_Price}원" : m_Data.n_Price.ToString();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (t_price != null)
|
||||
{
|
||||
t_price.text = m_Data.e_BuyType == eShopBuyType.IAP ? $"{m_Data.n_Price}원" : m_Data.n_Price.ToString();
|
||||
t_price.transform.localPosition = !string.IsNullOrEmpty(m_Data.s_PeakEffective) ? Vector3.up * 10f : Vector3.zero;
|
||||
}
|
||||
}
|
||||
Set_UI();
|
||||
}
|
||||
|
||||
void Set_UI()
|
||||
{
|
||||
if (go_BuyComplete != null)
|
||||
{
|
||||
go_BuyComplete.SetActive(!SaveMgr.Ins.CanBuyShopPackage(m_Data));
|
||||
}
|
||||
if (go_BuyComplete != null) go_BuyComplete.SetActive(!SaveMgr.Ins.CanBuyShopPackage(m_Data));
|
||||
if (t_limit != null) t_limit.text = $"{SaveMgr.Ins.Get_ShopLimitCount(m_Data.s_ID)}/{m_Data.n_Limit}";
|
||||
}
|
||||
|
||||
public void OnClick_Button()
|
||||
|
|
@ -58,39 +112,41 @@ public class ShopCard : MonoBehaviour
|
|||
case eShopBuyType.IAP:
|
||||
InappInfo.Ins.BuyProduct(m_ID, () =>
|
||||
{
|
||||
SaveMgr.Ins.Add_Money(eMoney.AlbumOpen, m_Data.n_RewardHeart);
|
||||
SaveMgr.Ins.Add_Money(eMoney.Chat, m_Data.n_RewardChatCoin);
|
||||
SaveMgr.Ins.Add_Money(eMoney.Gacha, m_Data.n_RewardGacha);
|
||||
SaveMgr.Ins.Set_ShopInit(m_Data.e_InAppInitType);
|
||||
SaveMgr.Ins.Set_ShopAD(m_Data.b_AdRemove);
|
||||
SaveMgr.Ins.Save();
|
||||
SaveMgr.Ins.Set_ShopReward(m_Data);
|
||||
|
||||
LobbyUI.Ins.m_ToastUI.Set(Get_BuyItemMsg());
|
||||
|
||||
var cards = gameObject.transform.parent.GetComponentsInChildren<ShopCard>();
|
||||
for (int i = 0; i < cards.Length; i++)
|
||||
cards[i].Set_UI();
|
||||
});
|
||||
break;
|
||||
case eShopBuyType.AD:
|
||||
if (SaveMgr.Ins.CanShowShopAD())
|
||||
//if (SaveMgr.Ins.CanShowShopAD())
|
||||
if (SaveMgr.Ins.Get_ShopLimitCount(m_Data.s_ID) < m_Data.n_Limit)
|
||||
{
|
||||
ADInfo.Ins.Show_AD(false, () =>
|
||||
{
|
||||
SaveMgr.Ins.Add_Money(eMoney.Chat, m_Data.n_RewardChatCoin);
|
||||
SaveMgr.Ins.Add_ShopADTime(table_GlobalValue.Ins.Get_Int("ADSec_Shop"));
|
||||
LobbyUI.Ins.m_ToastUI.Set($"채팅 코인 {m_Data.n_RewardChatCoin}개를 획득했습니다.");
|
||||
SaveMgr.Ins.Set_ShopReward(m_Data);
|
||||
LobbyUI.Ins.m_ToastUI.Set(Get_BuyItemMsg());
|
||||
Set_UI();
|
||||
});
|
||||
}
|
||||
else
|
||||
LobbyUI.Ins.m_ToastUI.Set("광고 시청 횟수가 없습니다.");
|
||||
break;
|
||||
case eShopBuyType.Coin:
|
||||
if (SaveMgr.Ins.Check_Money(eMoney.AlbumOpen, m_Data.n_Price))
|
||||
if (SaveMgr.Ins.Get_ShopLimitCount(m_Data.s_ID) < m_Data.n_Limit)
|
||||
{
|
||||
SaveMgr.Ins.Add_Money(eMoney.AlbumOpen, -m_Data.n_Price);
|
||||
SaveMgr.Ins.Add_Money(eMoney.Chat, m_Data.n_RewardChatCoin);
|
||||
SaveMgr.Ins.Save();
|
||||
LobbyUI.Ins.m_ToastUI.Set($"채팅 코인 {m_Data.n_RewardChatCoin}개를 획득했습니다.");
|
||||
if (SaveMgr.Ins.Check_Money(eMoney.Gacha, m_Data.n_Price))
|
||||
{
|
||||
SaveMgr.Ins.Add_Money(eMoney.Gacha, -m_Data.n_Price);
|
||||
SaveMgr.Ins.Set_ShopReward(m_Data);
|
||||
LobbyUI.Ins.m_ToastUI.Set(Get_BuyItemMsg());
|
||||
Set_UI();
|
||||
}
|
||||
}
|
||||
else
|
||||
LobbyUI.Ins.m_ToastUI.Set("오늘은 더 이상 구매하실 수 없습니다.");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
@ -117,6 +173,24 @@ public class ShopCard : MonoBehaviour
|
|||
msg += $"뽑기 재화 {m_Data.n_RewardGacha}개를 획득했습니다.";
|
||||
}
|
||||
|
||||
if (m_Data.b_AdRemove)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(msg)) msg += "\n";
|
||||
msg += $"광고 제거권을 획득했습니다.";
|
||||
}
|
||||
|
||||
if (m_Data.b_InfinityMiniGame)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(msg)) msg += "\n";
|
||||
msg += $"수집 게임 무제한 입장을 획득했습니다.";
|
||||
}
|
||||
|
||||
if (m_Data.b_LuckyGameCharge)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(msg)) msg += "\n";
|
||||
msg += $"뽑기 무료 충전 시간이 90% 감소되었습니다.";
|
||||
}
|
||||
|
||||
if (string.IsNullOrEmpty(msg)) msg = "보상이 없습니다.\n보상을 설정해 주세요!";
|
||||
return msg;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,8 +15,8 @@ public class SetBannerPos : MonoBehaviour
|
|||
{
|
||||
var rt = GetComponent<RectTransform>();
|
||||
if (BannerPosIsBottom)
|
||||
rt.offsetMin = new Vector2(rt.offsetMin.x, SaveMgr.Ins.Get_ShopAD() ? 0f : 150f);
|
||||
rt.offsetMin = new Vector2(rt.offsetMin.x, SaveMgr.Ins.Get_ShopNoAD() ? 0f : 150f);
|
||||
else
|
||||
rt.offsetMax = new Vector2(rt.offsetMax.x, SaveMgr.Ins.Get_ShopAD() ? 0f : -150f);
|
||||
rt.offsetMax = new Vector2(rt.offsetMax.x, SaveMgr.Ins.Get_ShopNoAD() ? 0f : -150f);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,6 +1,14 @@
|
|||
게등위 버전
|
||||
- 상점
|
||||
|
||||
광고 제거
|
||||
- 광고 딜레이 체크
|
||||
파이어 베이스
|
||||
|
||||
게등위 이후 라이브 버전
|
||||
- 게등위 테스트 제거
|
||||
- 뽑기 연출 개선
|
||||
-- 라이트 추가
|
||||
-- 뽑기 상자 여러 개가 랜덤하게 나왔으면...
|
||||
- 럭키 뽑기 게임 개선
|
||||
-- 컵 안에 구슬 보이기
|
||||
-- 컵을 기울였다 다시 세웠다 할 수 있게
|
||||
-- 리필
|
||||
- 파이어 베이스
|
||||
Loading…
Reference in New Issue