Files

168 lines
5.9 KiB
C#

using System;
using System.Collections.Generic;
using SGModule.MarkdownKit;
using SGModule.NetKit;
using SGModule.Common.Helper;
using UnityEngine;
using BallKingdomCrush;
using UNSDK;
public class LoveLegendRoot : 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<LoveLegendCore>();
DontDestroyOnLoad(AppObjConst.FrameGo);
App.InitApplication(SuperApplication.Instance);
NetworkManager.haveSimCard = HasSIMCard();
MarkdownKit.Instance.LoadText("privacy", "https://official.piggyhydration.com/privacy.md");
MarkdownKit.Instance.LoadText("user", "https://official.piggyhydration.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<long>();
}));
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<AndroidJavaObject>("currentActivity");
// 获取TelephonyManager
AndroidJavaObject telephonyManager = currentActivity.Call<AndroidJavaObject>("getSystemService", "phone");
if (telephonyManager == null)
{
Debug.Log("无法获取TelephonyManager,可能设备不支持电话功能。");
return false;
}
// 获取SIM卡状态
int simState = telephonyManager.Call<int>("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
}
}