using System.Collections; using System.Collections.Generic; using UnityEngine; using LoyalSoftSDK; using System; /// /// 曹强说有些平台比较怪,按他描述的情况分析的话,我觉得还是用下面的类。ljp20180112 /// public class SDKCallBack : MonoSingleton { /// /// 声明一个委托类型来适配曹强sdk的消息回调。 /// /// public delegate void sdkcallbackdelegate(LoyalGameCallbackData data); public sdkcallbackdelegate InitCompelete; public sdkcallbackdelegate LoginCompelete; public sdkcallbackdelegate LogoutCompelete; public void init(LoyalGameCallbackData data) { //UnityEngine.Debug.Log(DateTime.Now.ToString("HH:mm:ss fffff") + " Final "); Debug.Log("开始初始化skdcallback"); LoyalGameSDKCallBack.InitCallback(); LogHelper.Log("SDK回调:" + data.action + " " + data.msg + " " + data.data); switch (data.action) { case "exitSuccees": ExitCalback(data); break; case "logoutSuccees": if (LogoutCompelete != null) { LogoutCompelete(data); } break; case "loginCancle": break; case "loginSuccees": LogHelper.Log("login成功,准备init"); if (LoginCompelete != null) { LoginCompelete(data); } break; case "initSuccees": LogHelper.Log("init成功,准备init"); if (InitCompelete != null) { InitCompelete(data); } break; case "paySuccees": LogHelper.Log("付款成功,准备提服务器"); PanelHelper.Instance.ShowPanel("UI_WaitingForPaySuccessWindow"); PayProxy.Instance.PayDeliverGoods(long.Parse(data.data), (lst) => { if (lst.Count > 0) { PanelHelper.Instance.ShowPanel("UI_ShopPrizesPanel", (panel) => { PanelHelper.Instance.ClosePanel("UI_WaitingForPaySuccessWindow"); UI_ShopPrizesPanel shopPrize = panel.GetComponent(); shopPrize.Init(); shopPrize.Show(lst); }); } else { PanelHelper.Instance.ClosePanel("UI_WaitingForPaySuccessWindow"); UI_CueDialog.Instance().Open("交易完成"); } Debug.Log("交易完成"); }); break; case "payFaill": break; case "initFail": break; default: break; } } private void LoginCompeletSDK(LoyalGameCallbackData data) { LogHelper.Log("code: " + data.action + "msg: " + data.msg + "--data: " + data.data); if (data.action.Equals("0")) { if (PlayerPrefs.GetString("SDK").Equals("yyb")) { string yybname = PlayerPrefs.GetString("LoginSDK"); if (!string.IsNullOrEmpty(yybname)) { PlayerPrefs.SetString("LoginYYBSDK", yybname); } } string sdkname = PlayerPrefs.GetString("SDK"); if (string.IsNullOrEmpty(sdkname)) { LogHelper.Log("sdk获取名称失败"); return; } UserProxy.Instance.userName = sdkname + "-" + data.data; LocalSettings.DefaultUserName = UserProxy.Instance.userName; GameCfg.SaveLocalSettings(); PlayerPrefs.SetInt("NeedLogin", 0); if (LoginCompelete == null) { PlayerPrefs.SetInt("NeedLogin", 1); PanelHelper.Instance.UnloadAllPanel(); if (ThridDelegateHelper.Instance.TriggerLogOutChatEvent != null) { ThridDelegateHelper.Instance.TriggerLogOutChatEvent.Invoke(); } LevelManager.Instance().LoadLevel(E_Level.newsplash); } } if (LoginCompelete != null) { LoginCompelete.Invoke(data); } } private void LogoutCompeleteSDK(LoyalGameCallbackData data) { LogHelper.Log("登出时输出:" + data.action + " " + data.msg + " " + data.data); PlayerPrefs.SetString("LoginYYBSDK", ""); if (data.action.Equals("0")) { PlayerPrefs.SetString("LoginYYBSDK", ""); PlayerPrefs.SetInt("NeedLogin", 1); SwitchAccount(); } if (LogoutCompelete != null) { LogoutCompelete.Invoke(data); } } private void InitCompeletSDK(LoyalGameCallbackData data) { PlayerPrefs.SetInt("NeedLogin", 1); if (InitCompelete != null) { InitCompelete.Invoke(data); } } private void ExitCalback(LoyalGameCallbackData data) { LogHelper.Log("退出时输出:" + data.action + " " + data.msg + " " + data.data); // if (data.action.Equals("0")) { ExitGame(); } } /// /// 退出游戏 /// private void ExitGame() { // LoyalGameSDK.Instance.FoceExit(); Application.Quit(); } private void SwitchAccount() { if (LoginCompelete == null) { PanelHelper.Instance.UnloadAllPanel(); if (ThridDelegateHelper.Instance.TriggerLogOutChatEvent != null) { ThridDelegateHelper.Instance.TriggerLogOutChatEvent.Invoke(); } if (GlobalConfig.is_OpenGuide) { } LevelManager.Instance().LoadLevel(E_Level.newsplash); } } }