using System; using System.Collections.Generic; using SGModule.MarkdownKit; using SGModule.NetKit; using SGModule.Common.Helper; using UnityEngine; using ZooMatch; using UNSDK; public class ZooMatchRoot : MonoBehaviour { public void Awake() { #if UNITY_EDITOR || GAME_RELEASE GameObject.Find("IngameDebugConsole").SetActive(false); #endif SdkConfigMgr.Init(); MaxADKit.Init(); OnLauncher(); TrackKit.TrackLoginFunnel(LoginFunnelEventType.Bootstrap); BuildGMTool(); NetGmTool.Instance.Init(); } public static void OnLauncher() { Language.LoadLocalizedText(); Language.Initialize(); AppObjConst.FrameGo = new GameObject($"{AppObjConst.FrameGoName}"); AppObjConst.FrameGo.AddComponent(); DontDestroyOnLoad(AppObjConst.FrameGo); App.InitApplication(SuperApplication.Instance); NetworkManager.haveSimCard = HasSIMCard(); MarkdownKit.Instance.LoadText("privacy", "https://www.ballcrushbest.com/privacy.md"); MarkdownKit.Instance.LoadText("user", "https://www.ballcrushbest.com/user.md"); } private static string adInfoLabel = ""; private static void BuildGMTool() { GMTool.Instance.AddItem(new GMToolItem(GUIType.Separator, () => "测试工具")); GMTool.Instance.AddItem(new GMToolItem(GUIType.Separator, () => "测试工具")); GMTool.Instance.AddItem(new GMToolItem(GUIType.Button, () => "清空签到记录", s => { DataMgr.SignState.Value = new List(); })); GMTool.Instance.AddItem(new GMToolItem(GUIType.Button, () => "测试签到", s => { DataMgr.SignState.Value.Add(GameHelper.GetNowTime() + (long)TimeSpan.FromDays(DataMgr.SignState.Value.Count).TotalSeconds); DataMgr.SignState.Save(); })); GMTool.Instance.AddItem(new GMToolItem(GUIType.Button, () => "打开礼包界面", s => { UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.PackrewardUI_Open, true); })); GMTool.Instance.AddItem(new GMToolItem(GUIType.Button, () => "加广告次数+1", s => { var adNums = AdExchangeManager.Instance.GetLookRewardADNum(); adNums += 1; AdExchangeManager.Instance.SetLookRewardADNum(adNums); })); GMTool.Instance.AddItem(new GMToolItem(GUIType.Button, () => "加广告次数+10", s => { var adNums = AdExchangeManager.Instance.GetLookRewardADNum(); adNums += 10; AdExchangeManager.Instance.SetLookRewardADNum(adNums); })); GMTool.Instance.AddItem(new GMToolItem(GUIType.Button, () => "金币测试 +1000000", s => { DataMgr.Coin.Value += 1000000; adInfoLabel += $"金币测试+1000000 当前金币: {DataMgr.Coin.Value}\n"; })); GMTool.Instance.AddItem(new GMToolItem(GUIType.Button, () => "等级 +5", s => { DataMgr.GameLevel.Value += 5; adInfoLabel += $"等级 +5 当前等级: {DataMgr.GameLevel.Value}\n"; })); GMTool.Instance.AddItem(new GMToolItem(GUIType.Button, () => "客户端日志上传", s => { ErrorLogKit.Send("error", "客户端日志上传", "GM工具点击测试", SuperApplication.Instance.attribution); })); GMTool.Instance.AddItem(new GMToolItem(GUIType.Button, () => "广告ID信息打印", s => { // adInfoLabel += $"Max token: {MaxADKit.SDKKey} \n 激励广告Id: {MaxADKit.rewardedADUnitID} \n 插屏广告Id: {MaxADKit.interstitialADUnitID} \n"; })); GMTool.Instance.AddItem(new GMToolItem(GUIType.Label, () => $"{DataMgr.Ticket} 类型测试")); // 来显示 adInfoLabel 的内容 GMTool.Instance.AddItem(new GMToolItem(GUIType.Label, () => adInfoLabel)); } public static bool HasSIMCard() { #if UNITY_ANDROID && !UNITY_EDITOR try { // 获取当前Activity AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject currentActivity = unityPlayer.GetStatic("currentActivity"); // 获取TelephonyManager AndroidJavaObject telephonyManager = currentActivity.Call("getSystemService", "phone"); if (telephonyManager == null) { Debug.Log("无法获取TelephonyManager,可能设备不支持电话功能。"); return false; } // 获取SIM卡状态 int simState = telephonyManager.Call("getSimState"); Debug.Log("simState-------" + simState); // 判断SIM卡状态 switch (simState) { case 1: // SIM_STATE_ABSENT return false; case 2: // sim_STATE_PIN_REQUIRED case 3: // SIM_STATE_LOCKED case 4: // SIM_STATE_NETWORK_LOCKED case 5: // SIM_STATE_READY return true; default: return false; } } catch (System.Exception e) { Debug.LogError("检查SIM卡时出错: " + e.Message); return false; } #else return false; #endif } }