using EngineSdkConverter.Unity.SDK;
using System;
using UnityEngine;

#if UNITY_EDITOR

namespace EngineSdkConverter.Unity.SDK
{
    /// <summary>
    /// Editor下可以直接使用WebGL，不需要单独实现
    /// </summary>
    public class EditorInterface : ISDKInterface
    {

        public override void Init()
        {
            Debug.Log("Init");
        }

        public override void InitSDK(Action<string> callback)
        {
            Debug.Log("InitSDK");
        }

        public override void InitSDK(InitEventBuilder.InitEvent initEvent, Action<string> callback)
        {
            Debug.Log("InitSDK");
        }

        public override void SilentLogin(Action<string> callback)
        {
            Debug.Log("SilentLogin");
        }

        public override void Login(Action<string> callback)
        {
            Debug.Log("Login");
        }

        public override void LoginByType(LoginEventBuilder.LoginEvent loginEvent, Action<string> callback)
        {
            Debug.Log("LoginByType");
        }

        public override void SendCode(LoginEventBuilder.LoginEvent loginEvent, Action<string> callback)
        {
            Debug.Log("SendCode");
        }

        public override void Charge(PayEventBuilder.PayEvent payEvent, Action<string> callback)
        {
            Debug.Log("Charge");
        }

        public override void Pay(PayEventBuilder.PayEvent payEvent, Action<string> callback)
        {
            Debug.Log("Pay");
        }

        public override void GetLocalProductInfo(Action<string> callback)
        {
            Debug.Log("GetLocalProductInfo");
        }

        public override void SetPushResultHandler(Action<string> onReceive, Action<string> onClick)
        {
            Debug.Log("SetPushResultHandler");
        }

        public override void AppsFlyerEventReport(ReportEventBuilder.ReportEvent reportEvent)
        {
            Debug.Log("AppsFlyerEventReport");
        }

        public override void Logout(Action<string> callback)
        {
            Debug.Log("Logout");
        }

        public override void LogoutChannel(LoginEventBuilder.LoginEvent logoutEvent, Action<string> callback)
        {
            Debug.Log("LogoutChannel");
        }

        public override void ExitGame(Action<string> callback)
        {
            Debug.Log("ExitGame");
        }

        public override void GetAppsFlyerDeviceId(Action<string> callback)
        {
            Debug.Log("GetAppsFlyerDeviceId");
        }

        public override void SetAppsFlyerCommonParam(ReportEventBuilder.ReportEvent reportEvent)
        {
            Debug.Log("SetAppsFlyerCommonParam");
        }

        public override void SetFirebaseUserProperty(ReportEventBuilder.ReportEvent reportEvent)
        {
            Debug.Log("SetFirebaseUserProperty");
        }

        public override void SetFirebaseCommonParam(ReportEventBuilder.ReportEvent reportEvent)
        {
            Debug.Log("SetFirebaseCommonParam");
        }

        public override void FirebaseEventReport(ReportEventBuilder.ReportEvent reportEvent)
        {
            Debug.Log("FirebaseEventReport");
        }

        public override void CanBindList(Action<string> callback)
        {
            Debug.Log("CanBindList");
        }

        public override void AlreadyBindList(Action<string> callback)
        {
            Debug.Log("AlreadyBindList");
        }

        public override void Check(BindEventBuilder.BindEvent bindEvent, Action<string> callback)
        {
            Debug.Log("Check");
        }

        public override void Bind(BindEventBuilder.BindEvent bindEvent, Action<string> callback)
        {
            Debug.Log("Bind");
        }

        public override void GetBindUserList(BindEventBuilder.BindEvent bindEvent, Action<string> callback)
        {
            Debug.Log("GetBindUserList");
        }

        public override void GAProfileTrack(ReportEventBuilder.ReportEvent reportEvent)
        {
            Debug.Log("GAProfileTrack");
        }

        public override void GAEventTrack(ReportEventBuilder.ReportEvent reportEvent)
        {
            Debug.Log("GAEventTrack");
        }

        public override void SetGACommonParam(ReportEventBuilder.ReportEvent reportEvent)
        {
            Debug.Log("SetGACommonParam");
        }

        public override void SetLocalDeliverListener(Action<string, Action, Action<string, string>> callback)
        {
            Debug.Log("SetLocalDeliverListener");
        }

        public override void RequestNotificationPermission()
        {
            Debug.Log("RequestNotificationPermission");
        }

        public override void SetCertificationListener(Action<string> callback)
        {
            Debug.Log("SetCertificationListener");
        }

        public override void Certificate(CertificationEventBuilder.CertificationEvent certificationEvent, Action<string> callback)
        {
            Debug.Log("Certificate");
        }

        public override void ReCertificate(CertificationEventBuilder.CertificationEvent certificationEvent, Action<string> callback)
        {
            Debug.Log("ReCertificate");
        }

        public override void RefreshCertification()
        {
            Debug.Log("RefreshCertification");
        }

        public override void SetServerLanguage(string serverLanguage, Action<string> callback)
        {
            Debug.Log("SetServerLanguage");
        }

        public override void GetDeviceId(Action<string> callback)
        {
            Debug.Log("GetDeviceId");
        }

        public override void LiveDetect(YiDunEventBuilder.YiDunEvent yiDunEvent, Action<string> callback)
        {
            Debug.Log("LiveDetect");
        }

        public override void RequestWXAuthorize(Action<string> callback)
        {
            Debug.Log("RequestWXAuthorize");
        }

        public override void GetWXAuthInfo(Action<string> callback)
        {
            Debug.Log("GetWXAuthInfo");
        }

        public override void GetYiDunCaptcha(YiDunEventBuilder.YiDunEvent yiDunEvent, Action<string> callback)
        {
            Debug.Log("GetYiDunCaptcha");
        }

        public override void GetAPIVersion(Action<string> callback)
        {
            Debug.Log("GetAPIVersion");
        }

        public override void HasGeneratedGuest(Action<string> callback)
        {
            Debug.Log("HasGeneratedGuest");
        }

        public override void SetPrivacy(YiDunEventBuilder.YiDunEvent yiDunEvent, Action<string> callback)
        {
            Debug.Log("SetPrivacy");
        }

        public override void SetDefaultShareInfo(ShareEventBuilder.ShareEvent shareEvent, Action<string> callback)
        {
            Debug.Log("SetDefaultShareInfo");
        }

        public override void Share(ShareEventBuilder.ShareEvent shareEvent, Action<string> callback)
        {
            Debug.Log("Share");
        }

        public override void GetShareInfoFromMarketService(Action<string> callback)
        {
            Debug.Log("GetShareInfoFromMarketService");
        }

        public override void GetSharePointInfoFromMarketService(ShareEventBuilder.ShareEvent shareEvent, Action<string> callback)
        {
            Debug.Log("GetSharePointInfoFromMarketService");
        }

        public override void GetAdInfoFromMarketService(Action<string> callback, Action<string> newCallback)
        {
            Debug.Log("GetAdInfoFromMarketService");
        }

        public override void TxAdSDKReport(TxAdSDKReportEventBuilder.TxAdSDKReportEvent txAdSDKReportEvent)
        {
            Debug.Log("TxAdSDKReport");
        }

        public override void SetWxUserInfo(SetWxUserInfoEventBuilder.SetWxUserInfoEvent setWxUserInfoEvent, Action<string> callback)
        {
            Debug.Log("SetWxUserInfo");
        }

        public override void ResetUserInfo(DYTrackEventBuilder.DYTrackEvent dYTrackEvent, Action<string> callback)
        {
            Debug.Log("ResetUserInfo");
        }

        public override void GetUserInfo(DYTrackEventBuilder.DYTrackEvent dYTrackEvent, Action<string> callback)
        {
            Debug.Log("GetUserInfo");
        }

        public override void GetLiveInfo(Action<string> callback)
        {
            Debug.Log("GetLiveInfo");
        }

        public override void SetConfig(ConfigEventBuilder.ConfigEvent configEvent, Action<string> callback)
        {
            Debug.Log("SetConfig");
        }

        public override void IsWxInstalled(Action<string> callback)
        {
            Debug.Log("IsWxInstalled");
        }

    }
}

#endif