123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- namespace LoyalSoftSDK
- {
- public class LoyalGameSDKCallBack : MonoBehaviour
- {
- private static LoyalGameSDKCallBack _instance;
- private static object _lock = new object();
- //初始化回调对象
- public static LoyalGameSDKCallBack InitCallback()
- {
- lock (_lock)
- {
- if (_instance == null)
- {
- GameObject callback = GameObject.Find("(loyalsdk_callback)");
- if (callback == null)
- {
- callback = new GameObject("(loyalsdk_callback)");
- UnityEngine.Object.DontDestroyOnLoad(callback);
- _instance = callback.AddComponent<LoyalGameSDKCallBack>();
- }
- else
- {
- _instance = callback.GetComponent<LoyalGameSDKCallBack>();
- }
- }
- return _instance;
- }
- }
- public void OnSDKCallBack(string jsonData)
- {
- Dictionary<string, object> backData=new Dictionary<string, object>();
- Debug.Log("new sdk call back:"+ jsonData);
- if (LoyalGameSDK.Instance.onSDKCallBack != null)
- {
- LoyalGameCallbackData data = new LoyalGameCallbackData(jsonData);
- //特殊化操作,检查到龙游SKD则调用ByUnitySDK了
- if (data.action.Equals("soft"))
- {
- switch (data.msg)
- {
- case "initSuccees":
- LoyalGameSDK.Instance.plantName = data.data;
- if (LoyalGameSDK.Instance.plantName.Equals("loyal"))
- {
- SoftSDKInstance.GetInstance().SetCallBack(OnSDKCallBack);
- SoftSDKInstance.GetInstance().InitSDK("");
- }
- else if (LoyalGameSDK.Instance.plantName.Equals("test"))
- {
- SoftSDKInstance.GetInstance().SetCallBack(OnSDKCallBack);
- SoftSDKInstance.GetInstance().InitSDK("test");
- }
- else
- {
- SoftSDKInstance.GetInstance().SetCallBack(OnSDKCallBack);
- SoftSDKInstance.GetInstance().InitSDK(LoyalGameSDK.Instance.plantName);
- }
- break;
- case "paySuccees":
- case "payFaill":
- case "checkInstallApk":
- SoftSDKInstance.GetInstance().SendtoPayPanl(jsonData);
- break;
- }
- return;
- }
- else if (data.action.Equals("huawei"))
- {
- switch (data.msg)
- {
- case "initSuccees":
- LoyalGameSDK.Instance.plantName = data.data;
-
- {
- SoftSDKInstance.GetInstance().SetCallBack(OnSDKCallBack);
- SoftSDKInstance.GetInstance().InitSDK(LoyalGameSDK.Instance.plantName);
- }
- break;
- case "loginSuccees":
- backData = new Dictionary<string, object>();
- backData.Add("action", "loginSuccees");
- backData.Add("data", data.data);
- backData.Add("msg","huawei");
- SoftSDKInstance.GetInstance().SendCallBackMsg(MiniJSON.Json.Serialize(backData));
- break;
- case "paySuccees":
- backData = new Dictionary<string, object>();
- backData.Add("action", "paySuccees");
- backData.Add("data", data.data);
- backData.Add("msg", "huawei");
- SoftSDKInstance.GetInstance().SendCallBackMsg(MiniJSON.Json.Serialize(backData));
- break;
- case "payFaill":
- case "checkInstallApk":
- SoftSDKInstance.GetInstance().SendtoPayPanl(jsonData);
- break;
- }
- return;
- }
-
- LoyalGameSDK.Instance.onSDKCallBack.Invoke(data);
- }
- else
- {
- Debug.LogError("没有设置回调监听!");
- }
-
- }
- }
- }
|