diff options
Diffstat (limited to 'Client/Assets/Scripts/XMainClient/XPandoraSDKDocument.cs')
-rw-r--r-- | Client/Assets/Scripts/XMainClient/XPandoraSDKDocument.cs | 448 |
1 files changed, 448 insertions, 0 deletions
diff --git a/Client/Assets/Scripts/XMainClient/XPandoraSDKDocument.cs b/Client/Assets/Scripts/XMainClient/XPandoraSDKDocument.cs new file mode 100644 index 00000000..51eb45b5 --- /dev/null +++ b/Client/Assets/Scripts/XMainClient/XPandoraSDKDocument.cs @@ -0,0 +1,448 @@ +using System;
+using System.Collections.Generic;
+using KKSG;
+using MiniJSON;
+using UnityEngine;
+using XMainClient.UI.UICommon;
+using XUpdater;
+using XUtliPoolLib;
+
+namespace XMainClient
+{
+ internal class XPandoraSDKDocument : XSingleton<XPandoraSDKDocument>
+ {
+ private bool hasLogin = false;
+
+ public void PandoraLogin()
+ {
+ XSingleton<XDebug>.singleton.AddLog("XPandoraMgr try login", null, null, null, null, null, XDebugColor.XDebug_None);
+ bool flag = !XSingleton<XGameSysMgr>.singleton.IsSystemOpened(XSysDefine.XSys_PandoraSDK);
+ if (!flag)
+ {
+ bool flag2 = XSingleton<XUpdater.XUpdater>.singleton.XPandoraManager == null;
+ if (flag2)
+ {
+ XSingleton<XDebug>.singleton.AddErrorLog("XPandoraMgr Component missing", null, null, null, null, null);
+ }
+ else
+ {
+ bool flag3 = XSingleton<XAttributeMgr>.singleton.XPlayerData == null;
+ if (!flag3)
+ {
+ int @int = XSingleton<XGlobalConfig>.singleton.GetInt("PandoraSDKUseHttps");
+ XSingleton<XDebug>.singleton.AddLog("XPandoraMgr https = " + @int, null, null, null, null, null, XDebugColor.XDebug_None);
+ XSingleton<XUpdater.XUpdater>.singleton.XPandoraManager.SetUseHttps(@int);
+ XSingleton<XDebug>.singleton.AddGreenLog("PandoraLogin--------------------------------------------", null, null, null, null, null);
+ string acctype = "test";
+ bool flag4 = XSingleton<XClientNetwork>.singleton.AccountType == LoginType.LOGIN_QQ_PF;
+ if (flag4)
+ {
+ acctype = "qq";
+ }
+ else
+ {
+ bool flag5 = XSingleton<XClientNetwork>.singleton.AccountType == LoginType.LGOIN_WECHAT_PF;
+ if (flag5)
+ {
+ acctype = "wx";
+ }
+ }
+ string payToken = "test";
+ string payBill = XSingleton<XUpdater.XUpdater>.singleton.XPlatform.GetPayBill();
+ bool flag6 = payBill != "";
+ if (flag6)
+ {
+ Dictionary<string, object> dictionary = Json.Deserialize(payBill) as Dictionary<string, object>;
+ bool flag7 = dictionary != null;
+ if (flag7)
+ {
+ object obj;
+ bool flag8 = dictionary.TryGetValue("pay_token", out obj);
+ if (flag8)
+ {
+ payToken = obj.ToString();
+ }
+ }
+ }
+ string platID = "";
+ bool flag9 = XSingleton<XUpdater.XUpdater>.singleton.XPlatform.Platfrom() == XPlatformType.Android;
+ if (flag9)
+ {
+ platID = "1";
+ }
+ else
+ {
+ bool flag10 = XSingleton<XUpdater.XUpdater>.singleton.XPlatform.Platfrom() == XPlatformType.IOS;
+ if (flag10)
+ {
+ platID = "0";
+ }
+ }
+ XSingleton<XUpdater.XUpdater>.singleton.XPandoraManager.PandoraLogin(XSingleton<XLoginDocument>.singleton.OpenID, acctype, XSingleton<XClientNetwork>.singleton.AreaId, XSingleton<XClientNetwork>.singleton.ServerID.ToString(), XSingleton<XClientNetwork>.singleton.AppId, XSingleton<XAttributeMgr>.singleton.XPlayerData.RoleID.ToString(), XSingleton<XLoginDocument>.singleton.TokenCache, payToken, XSingleton<XUpdater.XUpdater>.singleton.Version, platID);
+ this.hasLogin = true;
+ }
+ }
+ }
+ }
+
+ public void PandoraLogout()
+ {
+ XSingleton<XDebug>.singleton.AddLog("PandoraLogout", null, null, null, null, null, XDebugColor.XDebug_None);
+ bool flag = this.hasLogin;
+ if (flag)
+ {
+ bool flag2 = XSingleton<XUpdater.XUpdater>.singleton.XPandoraManager == null;
+ if (!flag2)
+ {
+ XSingleton<XDebug>.singleton.AddGreenLog("PandoraLogout--------------------------------------------", null, null, null, null, null);
+ XSingleton<XUpdater.XUpdater>.singleton.XPandoraManager.PandoraLogout();
+ this.hasLogin = false;
+ }
+ }
+ }
+
+ public void CheckPandoraPLPanel()
+ {
+ XSingleton<XDebug>.singleton.AddLog("PandoraSDK CheckPandoraPLPanel", null, null, null, null, null, XDebugColor.XDebug_None);
+ bool flag = !XSingleton<XGameSysMgr>.singleton.IsSystemOpened(XSysDefine.XSys_PandoraSDK);
+ if (!flag)
+ {
+ bool flag2 = XSingleton<XUpdater.XUpdater>.singleton.XPandoraManager == null;
+ if (!flag2)
+ {
+ bool flag3 = XSingleton<XScene>.singleton.SceneType != SceneType.SCENE_HALL;
+ if (!flag3)
+ {
+ bool flag4 = !this.hasLogin;
+ if (!flag4)
+ {
+ XSingleton<XDebug>.singleton.AddGreenLog("PandoraSDK CheckPandoraPLPanel ---------------------------", null, null, null, null, null);
+ this.ResetAllPopPLParent();
+ XSingleton<XUpdater.XUpdater>.singleton.XPandoraManager.PopPLPanel();
+ }
+ }
+ }
+ }
+ }
+
+ public void ResetAllPopPLParent()
+ {
+ bool flag = !XSingleton<XGameSysMgr>.singleton.IsSystemOpened(XSysDefine.XSys_PandoraSDK);
+ if (!flag)
+ {
+ bool flag2 = XSingleton<XUpdater.XUpdater>.singleton.XPandoraManager == null;
+ if (!flag2)
+ {
+ bool flag3 = !this.hasLogin;
+ if (!flag3)
+ {
+ DlgBase<XPandoraSDKPopView, XPandoraSDKPopViewBehaviour>.singleton.SetVisible(true, true);
+ XSingleton<XUpdater.XUpdater>.singleton.XPandoraManager.SetPandoraPanelParent("pop", DlgBase<XPandoraSDKPopView, XPandoraSDKPopViewBehaviour>.singleton.uiBehaviour.gameObject);
+ DlgBase<XPandoraSDKPopView, XPandoraSDKPopViewBehaviour>.singleton.SetVisible(false, true);
+ }
+ }
+ }
+ }
+
+ public void NoticePandoraShareResult(string result)
+ {
+ bool flag = !XSingleton<XGameSysMgr>.singleton.IsSystemOpened(XSysDefine.XSys_PandoraSDK);
+ if (!flag)
+ {
+ bool flag2 = XSingleton<XUpdater.XUpdater>.singleton.XPandoraManager == null;
+ if (!flag2)
+ {
+ XSingleton<XDebug>.singleton.AddLog("NoticePandoraShareResult result = " + result, null, null, null, null, null, XDebugColor.XDebug_None);
+ XSingleton<XUpdater.XUpdater>.singleton.XPandoraManager.NoticePandoraShareResult(result);
+ }
+ }
+ }
+
+ public void NoticePandoraBuyGoodsResult(string result)
+ {
+ bool flag = !XSingleton<XGameSysMgr>.singleton.IsSystemOpened(XSysDefine.XSys_PandoraSDK);
+ if (!flag)
+ {
+ bool flag2 = XSingleton<XUpdater.XUpdater>.singleton.XPandoraManager == null;
+ if (!flag2)
+ {
+ XSingleton<XDebug>.singleton.AddLog("NoticePandoraBuyGoodsResult result = " + result, null, null, null, null, null, XDebugColor.XDebug_None);
+ XSingleton<XUpdater.XUpdater>.singleton.XPandoraManager.NoticePandoraBuyGoodsResult(result);
+ }
+ }
+ }
+
+ public void CloseAllPandoraPanel()
+ {
+ bool flag = !XSingleton<XGameSysMgr>.singleton.IsSystemOpened(XSysDefine.XSys_PandoraSDK);
+ if (!flag)
+ {
+ bool flag2 = XSingleton<XUpdater.XUpdater>.singleton.XPandoraManager == null;
+ if (!flag2)
+ {
+ XSingleton<XDebug>.singleton.AddLog("Pandora CloseAllPandoraPanel", null, null, null, null, null, XDebugColor.XDebug_None);
+ XSingleton<XUpdater.XUpdater>.singleton.XPandoraManager.CloseAllPandoraPanel();
+ }
+ }
+ }
+
+ public void ClosePandoraTabPanel(string module)
+ {
+ bool flag = !XSingleton<XGameSysMgr>.singleton.IsSystemOpened(XSysDefine.XSys_PandoraSDK);
+ if (!flag)
+ {
+ bool flag2 = XSingleton<XUpdater.XUpdater>.singleton.XPandoraManager == null;
+ if (!flag2)
+ {
+ XSingleton<XDebug>.singleton.AddLog("Pandora ClosePandoraTabPanel", null, null, null, null, null, XDebugColor.XDebug_None);
+ XSingleton<XUpdater.XUpdater>.singleton.XPandoraManager.ClosePandoraTabPanel(module);
+ }
+ }
+ }
+
+ public bool IsActivityTabShow(int sysID)
+ {
+ bool flag = !XSingleton<XGameSysMgr>.singleton.IsSystemOpened(XSysDefine.XSys_PandoraSDK);
+ bool result;
+ if (flag)
+ {
+ result = false;
+ }
+ else
+ {
+ bool flag2 = XSingleton<XUpdater.XUpdater>.singleton.XPandoraManager == null;
+ if (flag2)
+ {
+ result = false;
+ }
+ else
+ {
+ XSingleton<XDebug>.singleton.AddLog("IsActivityTabShow sysID = " + sysID, null, null, null, null, null, XDebugColor.XDebug_None);
+ result = XSingleton<XUpdater.XUpdater>.singleton.XPandoraManager.IsActivityTabShow(sysID);
+ }
+ }
+ return result;
+ }
+
+ public bool IsPandoraSDKTab(XSysDefine sys, string module)
+ {
+ List<ActivityTabInfo> pandoraSDKTabListInfo = XSingleton<XPandoraSDKDocument>.singleton.GetPandoraSDKTabListInfo(module);
+ bool flag = pandoraSDKTabListInfo != null;
+ if (flag)
+ {
+ for (int i = 0; i < pandoraSDKTabListInfo.Count; i++)
+ {
+ bool flag2 = pandoraSDKTabListInfo[i].sysID == (int)sys;
+ if (flag2)
+ {
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ public List<ActivityTabInfo> GetPandoraSDKTabListInfo(string module)
+ {
+ bool flag = !XSingleton<XGameSysMgr>.singleton.IsSystemOpened(XSysDefine.XSys_PandoraSDK);
+ List<ActivityTabInfo> result;
+ if (flag)
+ {
+ result = null;
+ }
+ else
+ {
+ bool flag2 = XSingleton<XUpdater.XUpdater>.singleton.XPandoraManager == null;
+ if (flag2)
+ {
+ result = null;
+ }
+ else
+ {
+ List<ActivityTabInfo> list = new List<ActivityTabInfo>();
+ List<ActivityTabInfo> allTabInfo = XSingleton<XUpdater.XUpdater>.singleton.XPandoraManager.GetAllTabInfo();
+ for (int i = 0; i < allTabInfo.Count; i++)
+ {
+ bool flag3 = allTabInfo[i].moduleName == module;
+ if (flag3)
+ {
+ XSingleton<XDebug>.singleton.AddLog("GetPandoraSDKTabInfo find moduleName = " + module, null, null, null, null, null, XDebugColor.XDebug_None);
+ list.Add(allTabInfo[i]);
+ }
+ }
+ result = this.SortPandoraTab(list);
+ }
+ }
+ return result;
+ }
+
+ public static int ComparePandoraSDKTab(ActivityTabInfo tab1, ActivityTabInfo tab2)
+ {
+ return tab1.sort - tab2.sort;
+ }
+
+ public List<ActivityTabInfo> SortPandoraTab(List<ActivityTabInfo> resultList)
+ {
+ List<ActivityTabInfo> list = new List<ActivityTabInfo>();
+ int i = 0;
+ while (i < resultList.Count)
+ {
+ bool flag = resultList[i].sort != 999;
+ if (flag)
+ {
+ list.Add(resultList[i]);
+ resultList.RemoveAt(i);
+ }
+ else
+ {
+ i++;
+ }
+ }
+ list.Sort(new Comparison<ActivityTabInfo>(XPandoraSDKDocument.ComparePandoraSDKTab));
+ list.AddRange(resultList);
+ return list;
+ }
+
+ public void ShowPandoraTab(int sysID, bool show, GameObject parent)
+ {
+ bool flag = !XSingleton<XGameSysMgr>.singleton.IsSystemOpened(XSysDefine.XSys_PandoraSDK);
+ if (!flag)
+ {
+ bool flag2 = XSingleton<XUpdater.XUpdater>.singleton.XPandoraManager == null;
+ if (!flag2)
+ {
+ ActivityTabInfo pandoraSDKTabInfo = this.GetPandoraSDKTabInfo(sysID);
+ bool flag3 = pandoraSDKTabInfo == null;
+ if (!flag3)
+ {
+ if (show)
+ {
+ this.ResetAllPopPLParent();
+ }
+ if (show)
+ {
+ XSingleton<XUpdater.XUpdater>.singleton.XPandoraManager.SetPandoraPanelParent(pandoraSDKTabInfo.moduleName, parent);
+ }
+ Dictionary<string, string> dictionary = new Dictionary<string, string>();
+ dictionary["type"] = (show ? "open" : "hide");
+ dictionary["content"] = pandoraSDKTabInfo.activityName;
+ string json = Json.Serialize(dictionary);
+ XSingleton<XUpdater.XUpdater>.singleton.XPandoraManager.PandoraDoJson(json);
+ }
+ }
+ }
+ }
+
+ public ActivityTabInfo GetPandoraSDKTabInfo(int sysID)
+ {
+ bool flag = !XSingleton<XGameSysMgr>.singleton.IsSystemOpened(XSysDefine.XSys_PandoraSDK);
+ ActivityTabInfo result;
+ if (flag)
+ {
+ result = null;
+ }
+ else
+ {
+ bool flag2 = XSingleton<XUpdater.XUpdater>.singleton.XPandoraManager == null;
+ if (flag2)
+ {
+ result = null;
+ }
+ else
+ {
+ XSingleton<XDebug>.singleton.AddLog("GetPandoraSDKTabInfo sysID = " + sysID, null, null, null, null, null, XDebugColor.XDebug_None);
+ List<ActivityTabInfo> allTabInfo = XSingleton<XUpdater.XUpdater>.singleton.XPandoraManager.GetAllTabInfo();
+ for (int i = 0; i < allTabInfo.Count; i++)
+ {
+ bool flag3 = allTabInfo[i].sysID == sysID;
+ if (flag3)
+ {
+ XSingleton<XDebug>.singleton.AddLog("GetPandoraSDKTabInfo find tabName = " + sysID, null, null, null, null, null, XDebugColor.XDebug_None);
+ return allTabInfo[i];
+ }
+ }
+ result = null;
+ }
+ }
+ return result;
+ }
+
+ public bool HasRedpoint(string module)
+ {
+ bool flag = !XSingleton<XGameSysMgr>.singleton.IsSystemOpened(XSysDefine.XSys_PandoraSDK);
+ bool result;
+ if (flag)
+ {
+ result = false;
+ }
+ else
+ {
+ bool flag2 = XSingleton<XUpdater.XUpdater>.singleton.XPandoraManager == null;
+ if (flag2)
+ {
+ result = false;
+ }
+ else
+ {
+ List<ActivityTabInfo> allTabInfo = XSingleton<XUpdater.XUpdater>.singleton.XPandoraManager.GetAllTabInfo();
+ for (int i = 0; i < allTabInfo.Count; i++)
+ {
+ bool flag3 = allTabInfo[i].moduleName == module && allTabInfo[i].tabShow && allTabInfo[i].redPointShow;
+ if (flag3)
+ {
+ return true;
+ }
+ }
+ result = false;
+ }
+ }
+ return result;
+ }
+
+ public void PandoraDoJson(string json)
+ {
+ bool flag = !XSingleton<XGameSysMgr>.singleton.IsSystemOpened(XSysDefine.XSys_PandoraSDK);
+ if (!flag)
+ {
+ bool flag2 = XSingleton<XUpdater.XUpdater>.singleton.XPandoraManager == null;
+ if (!flag2)
+ {
+ XSingleton<XUpdater.XUpdater>.singleton.XPandoraManager.PandoraDoJson(json);
+ }
+ }
+ }
+
+ public void PandoraOnJsonEvent(string json)
+ {
+ bool flag = !XSingleton<XGameSysMgr>.singleton.IsSystemOpened(XSysDefine.XSys_PandoraSDK);
+ if (!flag)
+ {
+ bool flag2 = XSingleton<XUpdater.XUpdater>.singleton.XPandoraManager == null;
+ if (!flag2)
+ {
+ XSingleton<XUpdater.XUpdater>.singleton.XPandoraManager.OnJsonPandoraEvent(json);
+ }
+ }
+ }
+
+ public void SetLastFailSceneID(uint id)
+ {
+ bool flag = !XSingleton<XGameSysMgr>.singleton.IsSystemOpened(XSysDefine.XSys_PandoraSDK);
+ if (!flag)
+ {
+ bool flag2 = XSingleton<XUpdater.XUpdater>.singleton.XPandoraManager == null;
+ if (!flag2)
+ {
+ List<int> intList = XSingleton<XGlobalConfig>.singleton.GetIntList("PandoraSDKCheckFailSceneType");
+ SceneType sceneType = XSingleton<XSceneMgr>.singleton.GetSceneType(id);
+ int item = XFastEnumIntEqualityComparer<SceneType>.ToInt(sceneType);
+ bool flag3 = intList.Contains(item);
+ if (flag3)
+ {
+ XSingleton<XUpdater.XUpdater>.singleton.XPandoraManager.PopPreLossActivity(true);
+ }
+ }
+ }
+ }
+ }
+}
|