Ejemplo n.º 1
0
    private void ProcessDailyBonus(bool doublePrize = true)
    {
        _prizeIsProcessed = true;
        int DaysInRow  = PreferencesFactory.GetInt(Constants.KeyFreePrizeTakeDaysInRow, 0);
        int extraCoins = 0;

        if (DaysInRow == 7)                         // reset
        {
            extraCoins = Constants.DialyBonusCoins; // bonus coins at last day

            PreferencesFactory.SetInt(Constants.KeyFreePrizeTakeDaysInRow, 1);
        }

        PreferencesFactory.SetString(Constants.KeyDateLastFreePrizeTake, UnbiasedTime.Instance.Now().ToString(CultureInfo.InvariantCulture));

        if (PrizeDialogClosedAudioClip != null)
        {
            GameManager.Instance.PlayEffect(PrizeDialogClosedAudioClip);
        }

        if ((prizeIsCoins && this.PrizeItems > 0) || extraCoins > 0)
        {
            // add extra coins to reward coins only of prize is coins
            if (prizeIsCoins)
            {
                extraCoins += this.PrizeItems;
            }

            GameObject       animatedCoins = GameObject.Find("AddCoinsAnimated");
            GameObject       addCoinsClone = Instantiate(animatedCoins, animatedCoins.transform.parent);
            AddCoinsAnimated addCoins      = addCoinsClone.GetComponent <AddCoinsAnimated>();

            addCoins.AnimateCoinsAdding(extraCoins);
        }

        if (prizeIsPoints)
        {
            GameObject animatedPoints = GameObject.Find("AddPointsAnimated");

            GameObject        _clone = Instantiate(animatedPoints, animatedPoints.transform.parent);
            AddPointsAnimated _add   = _clone.GetComponent <AddPointsAnimated>();

            _add.AnimateAdding(this.PrizeItems);

            GameSparksManager.Instance.SendPoints(this.PrizeItems, "FreePrize");
        }

        SetCurrentPrizeAmount();

        // Local notifications
#if !UNITY_EDITOR
        CancelLocalNotifications();
        RegisterLocalNotifications();
#endif

        if (doublePrize)
        {
            ShowDoubleScreen();
        }
    }
Ejemplo n.º 2
0
    void CompleteReward()
    {
        if (!Debug.isDebugBuild)
        {
            Flurry.Flurry.Instance.LogEvent("ExtraCoins_DailyBonus");
            Fabric.Answers.Answers.LogCustom("ExtraCoins_DailyBonus");
        }

        if (dialogInstance != null && dialogInstance.gameObject != null && this.PrizeItems > 0)
        {
            GameObject part2 = GameObjectHelper.GetChildNamedGameObject(dialogInstance.Content, "Part2", true);

            Text rewardsCoinsText = GameObjectHelper.GetChildComponentOnNamedGameObject <Text>(part2, "RewardsCoins", true);

            if (prizeIsPoints)
            {
                rewardsCoinsText.text = LocaliseText.Format("FreePrize.NumberMorePoints", this.PrizeItems);
            }

            if (prizeIsCoins)
            {
                rewardsCoinsText.text = LocaliseText.Format("FreePrize.NumberMoreCoins", this.PrizeItems);
            }

            GameObject WatchAds = GameObjectHelper.GetChildNamedGameObject(part2, "WatchAds", true);
            WatchAds.SetActive(false);

            GameObject DoubleButton = GameObjectHelper.GetChildNamedGameObject(part2, "DoubleButton", true);
            DoubleButton.SetActive(false);

            if (prizeIsCoins && this.PrizeItems > 0)
            {
                GameObject animatedCoins = GameObject.Find("AddCoinsAnimated");

                GameObject       addCoinsClone = Instantiate(animatedCoins, animatedCoins.transform.parent);
                AddCoinsAnimated addCoins      = addCoinsClone.GetComponent <AddCoinsAnimated>();

                addCoins.AnimateCoinsAdding(this.PrizeItems);
            }

            if (prizeIsPoints)
            {
                GameObject animatedPoints = GameObject.Find("AddPointsAnimated");

                GameObject        _clone = Instantiate(animatedPoints, animatedPoints.transform.parent);
                AddPointsAnimated _add   = _clone.GetComponent <AddPointsAnimated>();

                _add.AnimateAdding(this.PrizeItems);

                GameSparksManager.Instance.SendPoints(this.PrizeItems, "FreePrize-Double");
            }
        }
    }