void InterstitialAdLoadedEvent(AdmodAdStatusHandler adHandler, object sender, string message, bool success)
        {
            if (AdsManager.Debugging && mCurrentDownload != adHandler)
            {
                Debug.LogWarning("InterstitialAds - Return download handler is not same as current download");
            }

            if (mCurrentDownload == adHandler)
            {
                AdDownloadCallback(AdsType.Interstitial, success, message);
            }
            else
            {
                adHandler.OnAdAvailabilityUpdate(success);
            }

            //TODO
            //if ((object)InternalEventOnInterstitialAdsChanged != null)
            //{
            //    InternalEventOnInterstitialAdsChanged();
            //}
            if (AdsManager.Debugging)
            {
                Debug.Log(success ? "InterstitialAds - Request Success" : ("InterstitialAds - Request Fail - " + message));
            }
        }
 void RewardedVideoAdRewardedEvent(AdmodAdStatusHandler adHandler)
 {
     mHaveRewarded = true;
     if (AdsManager.Debugging)
     {
         Debug.Log("RewardAds - Handle Reward");
     }
 }
        void InterstitialAdOpenedEvent(AdmodAdStatusHandler adHandler)
        {
            AudioListener.volume = 0;
            FullscreenAdShowing  = true;

            if (AdsManager.Debugging)
            {
                Debug.Log("InterstitialAds - Ads Opened");
            }
        }
        void RewardedVideoAdOpenedEvent(AdmodAdStatusHandler adHandler)
        {
            AudioListener.volume = 0;
            FullscreenAdShowing  = true;
            mHaveRewarded        = false;

            if (AdsManager.Debugging)
            {
                Debug.Log("RewardAds - Ads Opened");
            }
        }
        void RewardedVideoAdLoadedEvent(AdmodAdStatusHandler adHandler, object sender, string message, bool success)
        {
            if (AdsManager.Debugging && mCurrentDownload != adHandler)
            {
                Debug.LogWarning("RewardAds - Return download handler is not same as current download");
            }

            if (mCurrentDownload == adHandler)
            {
                AdDownloadCallback(AdsType.RewardedVideo, success, message);
            }
            else
            {
                adHandler.OnAdAvailabilityUpdate(success);
            }

            if (BaseAdsAdapter.AdsAvailableSafeTime <= 0)
            {
                if ((object)InternalEventOnRewardAdsChanged != null)
                {
                    InternalEventOnRewardAdsChanged();
                }
            }
            else if (success)
            {
                if (mRewardedVideoDelayEventChanged != null)
                {
                    StopCoroutine(mRewardedVideoDelayEventChanged);
                    mRewardedVideoDelayEventChanged = null;
                }

                mRewardedVideoDelayEventChanged = CRDelayInternalEventOnRewardAdsChanged();
                StartCoroutine(mRewardedVideoDelayEventChanged);
            }
            else
            {
                if (mRewardedVideoDelayEventChanged != null)
                {
                    StopCoroutine(mRewardedVideoDelayEventChanged);
                    mRewardedVideoDelayEventChanged = null;
                }

                if ((object)InternalEventOnRewardAdsChanged != null)
                {
                    InternalEventOnRewardAdsChanged();
                }
            }

            if (AdsManager.Debugging)
            {
                Debug.Log(success ? "RewardAds - Request Success" : ("RewardAds - Request Fail - " + message));
            }
        }
 void BannerAdOpenedEvent(AdmodAdStatusHandler adHandler)
 {
     if (!mBannerAdVisibility)
     {
         HideAdsBanner();
         return;
     }
     if (AdsManager.Debugging)
     {
         Debug.Log("BannerAds - Ads Opened");
     }
 }
        void RewardedVideoAdClosedEvent(AdmodAdStatusHandler adHandler)
        {
            AudioListener.volume = 1;

            if (mCurrentFullscreenAd != null)
            {
                if (AdsManager.Debugging && mCurrentFullscreenAd != adHandler)
                {
                    Debug.LogError("RewardAds - Current Fullscreen Ad is not same as param adHandler");
                }
                mCurrentFullscreenAd.OnAdAvailabilityUpdate(false);
                mCurrentFullscreenAd = null;
            }

            if (mHaveRewarded)
            {
                if (mRewardAdCallback != null)
                {
                    mRewardAdCallback(mHaveRewarded);
                    mRewardAdCallback = null;
                }
                FullscreenAdShowing = false;
            }
            else
            {
                if (mDelayRewardCheckThread != null)
                {
                    StopCoroutine(mDelayRewardCheckThread);
                    mDelayRewardCheckThread = null;
                }

                mDelayRewardCheckThread = CRWaitForReward();
                StartCoroutine(mDelayRewardCheckThread);
            }

            if (AdsManager.Debugging)
            {
                Debug.Log("RewardAds - Ads Closed");
            }
        }
        //protected override void AdsRequestCallback(AdsType type, bool result)
        //{
        //    switch (type)
        //    {
        //        case AdsType.Banner:
        //            break;
        //        case AdsType.Interstitial:
        //            break;
        //        case AdsType.RewardedVideo:
        //            break;
        //    }
        //}

        #region BannerAds

        void BannerAdLoadedEvent(AdmodAdStatusHandler adHandler, object sender, string message, bool success)
        {
            if (AdsManager.Debugging && mCurrentDownload != adHandler)
            {
                Debug.LogWarning("BannerAds - Return download handler is not same as current download status " + success + " current " + mCurrentDownload + "  other " + adHandler);
            }

            if (mCurrentDownload == adHandler)
            {
                AdDownloadCallback(AdsType.Banner, success, message);
            }
            else
            {
                adHandler.OnAdAvailabilityUpdate(success);
            }

            //if ((object)InternalEventOnBannerAdsChanged != null)
            //{
            //    InternalEventOnBannerAdsChanged();
            //}

            if (mBannerAdVisibility)
            {
                ShowAdsBanner();
            }
            else
            {
                if (AdsManager.EventOnBannerAdsChanged != null)
                {
                    AdsManager.EventOnBannerAdsChanged(false);
                }
                HideAdsBanner();
            }
            if (AdsManager.Debugging)
            {
                Debug.Log(success ? "BannerAds - Request Success" : ("BannerAds - Request Fail - " + message));
            }
        }
 void InterstitialAdClosedEvent(AdmodAdStatusHandler adHandler)
 {
     AudioListener.volume = 1;
     if (mInterstitialAdCallback != null)
     {
         mInterstitialAdCallback(true);
         mInterstitialAdCallback = null;
     }
     if (mCurrentFullscreenAd != null)
     {
         mCurrentFullscreenAd.OnAdAvailabilityUpdate(false);
         if (AdsManager.Debugging && mCurrentFullscreenAd != adHandler)
         {
             Debug.LogWarning("RewardAds - Current Fullscreen Ad is not same as param adHandler");
         }
         mCurrentFullscreenAd = null;
     }
     FullscreenAdShowing = false;
     if (AdsManager.Debugging)
     {
         Debug.Log("InterstitialAds - Ads Closed");
     }
 }