using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace Touka
{
    /// 
    /// TKG Native SDK Default platform interface call
    /// 
    public class TKGNativeInterfaceDefault : TKGNativeInterface
    {
        public override void Init(Action _initCallback = null)
        {
            _initCallback?.Invoke();
        }
        public override void SetUnitySDKVersion(string sdkVersion)
        {
            
        }
        /// 
        /// Get Channel
        /// 
        /// 
        public override string GetChannel()
        {
            return "";
        }
        /// 
        /// Set Log Enable
        /// 
        /// 
        public override void SetLogEnable(bool _enable)
        {
        }
        #region Ads
        public override void PurchasedRemoveAds()
        {
        }
        #region Ads Show
        /// 
        /// Show banner Ad
        /// 
        /// bannerAlign
        public override void showBannerAd(TKGBannerAlign _pos)
        {
        }
        /// 
        /// Hide Banner Ad
        /// 
        public override void hideBannerAd()
        {
        }
        /// 
        /// Show Interstitial Ad
        /// 
        public override void showInterstitialAd()
        {
        }
        /// 
        /// Show Interstitial Ad
        /// 
        public override void showInterstitialAd(string _adPos, IVADType _IvType = IVADType.IV1)
        {
        }
        /// 
        /// Show Reward Ad
        /// 
        public override void showRewardAd(string _adPos, int _itemCount = -1)
        {
        }
        /// 
        /// Show Reward Ad
        /// 
        /// 
        /// 
        /// 
        public override void showRewardAd(string _adPos, int _itemCount, Dictionary _extraEvent)
        {
        }
        /// 
        /// Show FullScreen Ad(is RV without reward callback)
        /// 
        public override void showVideoAd(string _adPos, int _itemCount = -1)
        {
        }
        #endregion
        #region Ads isready
        /// 
        /// banner isReady
        /// 
        /// 
        public override bool isBannerAdReady()
        {
            return false;
        }
        /// 
        /// Interstitial isReady
        /// 
        /// 
        public override bool isInterstitialAdReady()
        {
            return false;
        }
        /// 
        /// Reward isReady
        /// 
        /// 
        public override bool isRewardAdReady()
        {
            return false;
        }
        /// 
        /// FullScreen isReady
        /// 
        /// 
        public override bool isVideoAdReady()
        {
            return false;
        }
        #endregion
        #region Set callback
        /// 
        /// Set Banner Ad Callback
        /// 
        /// 
        public override void SetBannerAdCallback(AndroidBannerADTKGAdCallback _bannerCallback)
        {
        }
        /// 
        /// Set reward video click Callback
        /// 
        /// 
        public override void SetRewardClickListener(Action _rewardClickAction)
        {
            
        }
        /// 
        /// Set game focus Callback
        /// 
        /// 
        public override void SetGameFocusListener(Action _gameFocusAction)
        {
            
        }
        /// 
        /// Set Interstital Ad Callback
        /// 
        /// 
        public override void setInterstitalAdCallback(AndroidInterADTKGAdCallback _interCallback)
        {
        }
        /// 
        /// Set reward Ad Callback
        /// 
        /// 
        public override void SetRewardAdCallback(AndroidRewardADTKGAdCallback _rewardCallback)
        {
        }
        /// 
        /// Set video Ad Callback(full screen ad, reward ad with no reward callback)
        /// 
        /// 
        public override void setVideoAdCallback(AndroidInterADTKGAdCallback _videoCallback)
        {
        }
        #endregion
        #region load ads
        /// 
        /// load interstitial ad
        /// (retry 3 times, per time interval 10s)
        /// 
        public override void loadInterstitialAD()
        {
        }
        /// 
        /// load reward ad
        /// (retry 3 times, per time interval 10s)
        /// 
        public override void loadRewardAD()
        {
        }
        /// 
        /// load video ad
        /// (retry 3 times, per time interval 10s)
        /// 
        public override void loadVideoAD()
        {
        }
        #endregion
        #endregion
        #region Log Event
        /// 
        /// onEvent
        /// 
        /// 
        /// 
        public override void onEvent(string _eventName)
        {
        }
        /// 
        /// onEvent
        /// 
        /// 
        /// 
        /// 
        /// 
        public override void onEvent(string _eventName, string _key01, string _value01)
        {
        }
        /// 
        /// onEvent
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        public override void onEvent(string _eventName, string _key01, string _value01, string _key02, string _value02)
        {
        }
        /// 
        /// onEvent
        /// 
        /// 
        /// 
        public override void onEvent(string _eventName, Dictionary _keyValues)
        {
        }
        #region Level Event
        /// 
        /// Level Start
        /// 
        /// 
        public override void LevelStart(string _levelId)
        {
        }
        /// 
        /// Level end
        /// 
        /// 
        /// 
        public override void LevelEnd(string _levelId, StageResult _stageResult)
        {
        }
        #endregion
        #region Tracking Event
        /// 
        /// Log Tracking Event
        /// 
        /// 
        public override void LogTrackingEvent(TrackingEventType _eventType)
        {
        }
        #endregion
        #endregion
        #region Online Config
        /// 
        /// get config - int
        /// 
        /// 
        /// 
        public override int GetConfigInt(string _key, int _default)
        {
            return _default;
        }
        /// 
        /// get config - string
        /// 
        /// 
        /// 
        public override string GetConfigString(string _key, string _default)
        {
            return _default;
        }
        /// 
        /// get config - bool
        /// 
        /// 
        /// 
        public override bool GetConfigBool(string _key, bool _default)
        {
            return default;
        }
        #endregion
        #region Others (Common)
        /// 
        /// review
        /// 
        public override void Review()
        {
        }
        /// 
        /// open Privacy
        /// 
        public override void OpenPrivacyURL()
        {
        }
        /// 
        /// open agreement
        /// 
        public override void OpenUserTermURL()
        {
        }
        /// 
        /// open policy pop
        /// 
        public override void OpenPolicyPop()
        {
        }
        /// 
        /// More Games
        /// 
        public override void OpenMoreGame()
        {
        }
        #endregion
        #region Others (Uncommon)
        /// 
        /// shake(no repeat)
        /// 
        ///  shake time 
        public override void shake(int _shakeType, float _intensity = 1)
        {
        }
        /// 
        /// shake(can repeat)
        /// 
        ///  repeat times : -1 
        ///  wait time,shake time(100,1000,100,111)
        //public override void shake(int _repeatTimes, params int[] _shakeTime)
        //{
        //}
        /// 
        /// cancel shake
        /// 
        public override void cancelShake()
        {
        }
        /// 
        /// Show Tips
        /// Pop-up prompt (the one with black transparent background) unified style, Chinese, Japanese, Korean and English, support multi-language, multi-language text
        ///
        /// game judges different languages by itself and passes different strings
        /// 
        ///  title 
        ///  content 
        public override void dialogTips(string _titleStr, string _contentStr)
        {
        }
        /// 
        /// Open ULR by Browser
        /// 
        /// 
        public override void openUrlBrowser(string _url)
        {
        }
        /// 
        /// Open ULR By WEB POP
        /// 
        /// 
        public override void openWebUrl(string _url)
        {
        }
        /// 
        /// show Toast
        /// 
        /// 
        public override void toast(string _content)
        {
        }
        /// 
        /// push message
        /// 
        public override void pushMsg()
        {
        }
        #endregion
        #region common callback
        public override void SetSDKCommonCallback(AndroidTKGCommonCalllback _commonCallback)
        {
        }
        public override void SetUserSourceCallback(AndroidTKGUserSourceCalllback _userSourceCallback)
        {
        }
        public override void RemoveNativeAd()
        {
        }
        public override bool IsReadyNativeAd()
        {
            return false;
        }
        public override void ShowNativeAd(RectTransform pRect, Camera pCam = null, string pAdPos = "")
        {
        }
        public override void ShareTxt(string _shareTxt)
        {
            
        }
        public override void RegistAPNS()
        {
            
        }
        public override void RegistNotification(string notiId, string body, string fireDate, int badge, string title, string subTitle)
        {
           
        }
        public override void RemoveNotification(string notiId)
        {
            
        }
        public override void RemoveAllNotifications()
        {
            
        }
        #endregion
    }
}