using Assets.Game.Launcher.HotUpdateProxy; using ET; using System; using System.Threading; using UniFramework.Pooling; using UnityEngine; namespace GFGGame.HotUpdate { public class HotUpdateEntry { public static void Start() { //UniFramework // 初始化对象池系统 UniPooling.Initalize(); //Reporter Reporter reporter = GameObject.Find("Reporter").GetComponent(); reporter.numOfCircleToShow = 10; reporter.isOpen = LauncherConfig.onDebug > 0; //ET System.AppDomain.CurrentDomain.UnhandledException += (sender, e) => { Log.Error(e.ExceptionObject.ToString()); }; SynchronizationContext.SetSynchronizationContext(ThreadSynchronizationContext.Instance); LitJson.UnityTypeBindings.Register(); ETTask.ExceptionHandler += Log.Error; Log.ILog = new UnityLogger(); Options.Instance = new Options(); TimeInfo.Instance.TimeZone = 8; try { HotUpdateProxy.Instance.update = Game.Update; HotUpdateProxy.Instance.lateUpdate = Game.LateUpdate; //退出进程被杀掉了,暂不执行 //HotUpdateProxy.Instance.onApplicationQuit = Game.Close; Game.EventSystem.Add(HotUpdateCodeLoader.Instance.GetTypes()); Game.EventSystem.Publish(new ET.EventType.AppStart()); } catch (Exception e) { Log.Error(e); } GameController.Start(); } } }