12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- using UnityEngine;
- using GFGGame;
- using ET;
- using System.Threading;
- using GFGGame.Launcher;
- public class GameLauncher : MonoBehaviour
- {
- private void Awake()
- {
- //ET
- System.AppDomain.CurrentDomain.UnhandledException += (sender, e) =>
- {
- Log.Error(e.ExceptionObject.ToString());
- };
- SynchronizationContext.SetSynchronizationContext(ThreadSynchronizationContext.Instance);
- DontDestroyOnLoad(gameObject);
- ETTask.ExceptionHandler += Log.Error;
- Log.ILog = new UnityLogger();
- Options.Instance = new Options();
- TimeInfo.Instance.TimeZone = 8;
- }
- // Start is called before the first frame update
- void Start()
- {
- Screen.sleepTimeout = SleepTimeout.NeverSleep;
- Application.runInBackground = true;
- LauncherConfig.InitScriptCompilation();
- FGUILauncher.Init();
- LauncherView.Instance.Open();
- InitLauncherCfg();
- }
- /// <summary>
- /// 初始化启动器配置
- /// </summary>
- public void InitLauncherCfg()
- {
- LauncherView.Instance.SetDesc("正在初始化..");
- var url = LauncherConfig.cfgUrl.Replace("{cfgName}", LauncherConfig.cfgName);
- HttpTool.Instance.Get(url, (string json) =>
- {
- LauncherConfig.InitPlatform(json);
- LauncherView.Instance.SetDesc("正在初始化...");
- //第一个节点必须放在平台配置加载之后
- LogServerHelperHttp.SendNodeLog((int)LogNode.OnStart);
- CheckApkVersion();
- });
- }
- private void CheckApkVersion()
- {
- LauncherView.Instance.SetDesc("正在校验应用版本...");
- var versionTarget = LauncherConfig.apkVersion;
- var version = Application.version;
- if (VersionUtil.compare(version, versionTarget))
- {
- DownloadApk();
- }
- else
- {
- VersionController.Instance.Init();
- }
- }
- private void DownloadApk()
- {
- Alert.Show("需要安装新的安装包,请联系研发获取。")
- .SetLeftButton(true, "知道了", (data) => {
- Application.Quit();
- });
- }
- }
|