示例#1
0
    public PurchaseProcessingResult ProcessPurchase(PurchaseEventArgs args)
    {
        Debug.Log($"구매 성공 - ID : {args.purchasedProduct.definition.id}");
        var heartShopController   = FindObjectOfType <HeartShopController>();
        var diamondShopController = FindObjectOfType <DiamondShopController>();

        switch (args.purchasedProduct.definition.id)
        {
        case Constants.MaldivesDice:
        {
            Debug.Log("몰디브 주사위 획득...");

            MaldivesButton.GetComponent <ButtonController>().HidePurchaseButtonGroup();
            MaldivesButton.GetComponent <ButtonController>().ShowUseButtonGroup();
            PlayerPrefs.SetInt($"purchased-{Constants.MaldivesDice}", 1);
            break;
        }

        case Constants.GoldrushDice:
        {
            Debug.Log("골드러시 주사위 획득...");

            GoldrushButton.GetComponent <ButtonController>().HidePurchaseButtonGroup();
            GoldrushButton.GetComponent <ButtonController>().ShowUseButtonGroup();
            PlayerPrefs.SetInt($"purchased-{Constants.GoldrushDice}", 1);
            break;
        }
        // case Constants.SmallHeart:
        //     {
        //         Debug.Log("하트 구매...");

        //         heartShopController.TogglePurchaseButton(false, args.purchasedProduct.definition.id);
        //         newHeartController.AddHeartAmount(15);
        //         afterPurchaseEffectController.ShowScreen("0", 15);
        //         break;
        //     }
        // case Constants.LargeHeart:
        //     {
        //         Debug.Log("하트 많이 구매...");

        //         heartShopController.TogglePurchaseButton(false, args.purchasedProduct.definition.id);
        //         newHeartController.AddHeartAmount(75);
        //         afterPurchaseEffectController.ShowScreen("0", 75);
        //         break;
        //     }
        // case Constants.HeartRechargeSpeedUp:
        //     {
        //         Debug.Log("하트 충전 속도 업...");
        //         heartShopController.TogglePurchaseButton(false, args.purchasedProduct.definition.id);
        //         newHeartController.UpgradeHeartRechargeSpeed(2);
        //         afterPurchaseEffectController.ShowScreen("1", 0);
        //         heartShopController.SetSpeedUpText();
        //         break;
        //     }
        case Constants.DIAMOND_1: {
            diamondShopController.TogglePurchaseButton(false, args.purchasedProduct.definition.id);
            diamondController.AddDiamondAmount(20);
            afterPurchaseEffectController.ShowScreen("4", 20);
            break;
        }

        case Constants.DIAMOND_2: {
            diamondShopController.TogglePurchaseButton(false, args.purchasedProduct.definition.id);
            diamondController.AddDiamondAmount(50);
            afterPurchaseEffectController.ShowScreen("4", 50);
            break;
        }

        case Constants.DIAMOND_3: {
            diamondShopController.TogglePurchaseButton(false, args.purchasedProduct.definition.id);
            diamondController.AddDiamondAmount(120);
            afterPurchaseEffectController.ShowScreen("4", 120);
            break;
        }

        case Constants.DIAMOND_4: {
            diamondShopController.TogglePurchaseButton(false, args.purchasedProduct.definition.id);
            diamondController.AddDiamondAmount(400);
            afterPurchaseEffectController.ShowScreen("4", 400);
            break;
        }

        case Constants.DIAMOND_5: {
            diamondShopController.TogglePurchaseButton(false, args.purchasedProduct.definition.id);
            diamondController.AddDiamondAmount(800);
            afterPurchaseEffectController.ShowScreen("4", 800);
            break;
        }

        case Constants.DIAMOND_6: {
            diamondShopController.TogglePurchaseButton(false, args.purchasedProduct.definition.id);
            diamondController.AddDiamondAmount(1300);
            afterPurchaseEffectController.ShowScreen("4", 1300);
            break;
        }

        default: {
            break;
        };
        }
        return(PurchaseProcessingResult.Complete);
    }
    public void HandleClick(string targetProductId)
    {
        int currentDiamondAmount = diamondController.GetDiamondAmount();

        switch (targetProductId)
        {
        case Constants.GOLD_MINE_1:
        {
            if (currentDiamondAmount < 10)
            {
                popupController.ToggleNoDiamondPopup(true);
                return;
            }
            itemController.AddItemAmount(ItemController.TYPE.GOLD_MINE, 1);
            diamondController.SubtractDiamondAmount(10);
            afterPurchaseEffectController.ShowScreen("5", 1);
            break;
        }

        case Constants.GOLD_MINE_5:
        {
            if (currentDiamondAmount < 40)
            {
                popupController.ToggleNoDiamondPopup(true);
                return;
            }

            itemController.AddItemAmount(ItemController.TYPE.GOLD_MINE, 5);
            diamondController.SubtractDiamondAmount(40);
            afterPurchaseEffectController.ShowScreen("5", 5);
            break;
        }

        case Constants.EXPLOSIVE_WAREHOUSE_1:
        {
            if (currentDiamondAmount < 10)
            {
                popupController.ToggleNoDiamondPopup(true);
                return;
            }

            itemController.AddItemAmount(ItemController.TYPE.EXPLOSIVE_WAREHOUSE, 1);
            diamondController.SubtractDiamondAmount(10);
            afterPurchaseEffectController.ShowScreen("6", 1);
            break;
        }

        case Constants.EXPLOSIVE_WAREHOUSE_5:
        {
            if (currentDiamondAmount < 40)
            {
                popupController.ToggleNoDiamondPopup(true);
                return;
            }

            itemController.AddItemAmount(ItemController.TYPE.EXPLOSIVE_WAREHOUSE, 5);
            diamondController.SubtractDiamondAmount(40);
            afterPurchaseEffectController.ShowScreen("6", 5);
            break;
        }
        }
    }