Exemple #1
0
    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;
        }
        }
    }
Exemple #2
0
    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}");
        }
    }