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);
}
}
}