public void HandleClick(string targetProductId) { int currentDiamondAmount = diamondController.GetDiamondAmount(); switch (targetProductId) { case Constants.SmallHeart: { if (currentDiamondAmount < 15) { base.ToggleNoDiamondPopup(true); return; } diamondController.SubtractDiamondAmount(15); newHeartController.AddHeartAmount(5); afterPurchaseEffectController.ShowScreen("0", 5); break; } case Constants.LargeHeart: { if (currentDiamondAmount < 120) { base.ToggleNoDiamondPopup(true); return; } diamondController.SubtractDiamondAmount(120); newHeartController.AddHeartAmount(50); afterPurchaseEffectController.ShowScreen("0", 50); break; } case Constants.HeartRechargeSpeedUp: { if (currentDiamondAmount < 20) { base.ToggleNoDiamondPopup(true); return; } diamondController.SubtractDiamondAmount(20); newHeartController.UpgradeHeartRechargeSpeed(2); afterPurchaseEffectController.ShowScreen("1", 0); SetSpeedUpText(); break; } } }
public void Purchase(string productId) { if (!IsInitialized) { return; } var product = storeController.products.WithID(productId); if (product != null && product.availableToPurchase) { Debug.Log($"구매 시도 - {product.definition.id}"); if (product.definition.id == Constants.HeartRechargeSpeedUp && RestorePurchase()) { newHeartController.UpgradeHeartRechargeSpeed(2); afterPurchaseEffectController.ShowScreen("1", 0); } else { storeController.InitiatePurchase(product); } } else { Debug.Log($"구매 시도 불가 - {productId}"); } }