123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192 |
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- using LoyalSoftSDK;
- using System;
- /// <summary>
- /// 曹强说有些平台比较怪,按他描述的情况分析的话,我觉得还是用下面的类。ljp20180112
- /// </summary>
- public class SDKCallBack : MonoSingleton<SDKCallBack>
- {
- /// <summary>
- /// 声明一个委托类型来适配曹强sdk的消息回调。
- /// </summary>
- /// <param name="data"></param>
- 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<UI_ShopPrizesPanel>();
- 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();
- }
- }
- /// <summary>
- /// 退出游戏
- /// </summary>
- 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);
- }
- }
- }
|