Пример #1
0
    private void StartGame()
    {
        // showing interstitial
        if (lastAddsTime + gameSettings.interstitialShowingDelay < Time.realtimeSinceStartup)
        {
            AdsManager.ShowInterstitial(interstitialType);

            lastAddsTime = Time.realtimeSinceStartup;
        }

        reviveUsed           = false;
        firstStageCompleted  = false;
        currentItemsAbsorbed = 0;
        currentLevel         = GameSettingsPrefs.Get <int>("current level");

        levelState = LevelState.First;
        LevelController.instance.LoadLevel(currentLevel);
        UIController.instance.InitLevel(currentLevel);
        CameraController.instance.InitCameraOnFirstStage();
        ColorsController.SetRandomPreset();

        GroundGenerator.InitPlayground();

        waitingForTap = true;

        // ads
        bannerType        = AdsManager.GetBannerType();
        interstitialType  = AdsManager.GetInterstitialType();
        rewardedVideoType = AdsManager.GetRewardedVideoType();

        AdsManager.RequestInterstitial(interstitialType);
        AdsManager.RequestRewardBasedVideo(rewardedVideoType);

        AdsManager.ShowBanner(bannerType);
    }
Пример #2
0
        public static RewardedVideoType GetRewardedVideoType()
        {
            RewardedVideoType rewardedVideoType = instance.settings.rewardedVideoType;

            if (rewardedVideoType == RewardedVideoType.RewardedVideo_Random)
            {
                rewardedVideoType = Random.Range(0, 1.0f) > 0.5f ? RewardedVideoType.RewardedVideo_ADMOB : RewardedVideoType.RewardedVideo_UNITYADS;
            }

            return(rewardedVideoType);
        }
Пример #3
0
        public static bool IsRewardBasedVideoLoaded(RewardedVideoType rewardedVideoType)
        {
            switch (rewardedVideoType)
            {
            case RewardedVideoType.RewardedVideo_ADMOB:
#if MODULE_ADMOB
                return(instance.rewardBasedVideo != null && instance.rewardBasedVideo.IsLoaded());
#endif
                break;

            case RewardedVideoType.RewardedVideo_UNITYADS:
#if MODULE_UNITYADS
                return(instance.rewardedBasedVideoUnityAds != null && Monetization.IsReady(instance.settings.GetUnityAdsRewardedVideoID()));
#endif
                break;
            }

            return(false);
        }
Пример #4
0
        public static void RequestRewardBasedVideo(RewardedVideoType rewardedVideoType)
        {
            if (IsRewardBasedVideoLoaded(rewardedVideoType))
            {
                return;
            }

            switch (rewardedVideoType)
            {
            case RewardedVideoType.RewardedVideo_ADMOB:
#if MODULE_ADMOB
                string adUnitId = instance.settings.GetRewardedVideoID();

                instance.rewardBasedVideo.LoadAd(instance.settings.CreateAdRequest(), adUnitId);
#endif
                break;

            case RewardedVideoType.RewardedVideo_UNITYADS:
#if MODULE_UNITYADS
                instance.rewardedBasedVideoUnityAds = Monetization.GetPlacementContent(instance.settings.GetUnityAdsRewardedVideoID()) as ShowAdPlacementContent;
#endif
                break;
            }
        }
Пример #5
0
        public static void ShowRewardBasedVideo(RewardedVideoType rewardedVideoType, RewardedVideoCallback callback)
        {
            if (!IsRewardBasedVideoLoaded(rewardedVideoType))
            {
                callback.Invoke(false);
                return;
            }

            if (instance.rewardedVideoCallback != null)
            {
                instance.rewardedVideoCallback = null;
            }

#if UNITY_EDITOR
            callback.Invoke(true);

            return;
#endif

            instance.rewardedVideoCallback = callback;

            switch (rewardedVideoType)
            {
            case RewardedVideoType.RewardedVideo_ADMOB:
#if MODULE_ADMOB
#if UNITY_EDITOR
                Tween.NextFrame(delegate
                {
                    callback.Invoke(true);
                });
#endif

                instance.rewardBasedVideo.Show();
#endif
                break;

            case RewardedVideoType.RewardedVideo_UNITYADS:
#if MODULE_UNITYADS
                ShowAdCallbacks options = new ShowAdCallbacks();
                options.finishCallback = (UnityEngine.Monetization.ShowResult result) =>
                {
                    if (result == UnityEngine.Monetization.ShowResult.Finished)
                    {
                        // Reward the player
                        if (instance.rewardedVideoCallback != null)
                        {
                            RewardedVideoCallback videoCallbackTemp = instance.rewardedVideoCallback;
                            Tween.NextFrame(delegate
                            {
                                videoCallbackTemp.Invoke(true);

                                PauseManager.SetPause(false);
                            });

                            instance.rewardedVideoCallback = null;
                        }
                    }
                    else
                    {
                        if (instance.rewardedVideoCallback != null)
                        {
                            RewardedVideoCallback videoCallbackTemp = instance.rewardedVideoCallback;

                            Tween.NextFrame(delegate
                            {
                                videoCallbackTemp.Invoke(false);

                                PauseManager.SetPause(false);
                            });

                            instance.rewardedVideoCallback = null;
                        }
                    }
                };

                instance.rewardedBasedVideoUnityAds.Show(options);
#endif
                break;
            }
        }