123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- 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);
- LitJson.UnityTypeBindings.Register();
- 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);
- url = url + "?t=" + TimeHelper.ClientNow();
- HttpTool.Instance.Get(url, (string json) =>
- {
- LauncherConfig.InitPlatform(json);
- LauncherView.Instance.SetDesc("正在初始化...");
- //第一个节点必须放在平台配置加载之后
- LogServerHelperHttp.SendNodeLog((int)LogNode.OnStart);
- CheckGameStatus();
- });
- }
- public void CheckGameStatus()
- {
- if(LauncherConfig.serverStatus == 1)
- {
- Alert.Show("游戏正在维护中,请稍后再试。")
- .SetLeftButton(true, "知道了", (data) => {
- Application.Quit();
- });
- }
- else
- {
- 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();
- });
- }
- }
|