using KYFramework; using KYFramework.Network; using Timer = KYFramework.Timer; namespace SimulationServer; public static class Init { public static int SimulationSpeed = 1; public static void Start() { try { AppDomain.CurrentDomain.UnhandledException += (sender, e) => { Log.Error(e.ExceptionObject.ToString()); }; SynchronizationContext.SetSynchronizationContext(OneThreadSynchronizationContext.Instance); Game.EventSystem.Add(typeof(Init).Assembly); Game.EventSystem.Add(typeof(Entity).Assembly); Game.EventSystem.Add(typeof(NetworkComponent).Assembly); Logger.Instance.ILog = new NLogger("Client", "./Config/NLog/NLog.config"); Game.Scene.AddComponent(); Game.Scene.AddComponent(); //Game.Scene.AddComponent(); //UDP //Game.Scene.AddComponent(); //TCP Game.Scene.AddComponent(); Game.Scene.AddComponent(); Game.Scene.AddComponent(File.ReadAllText("Config/ipconfig.txt")); Game.Scene.AddComponent(); // 任务 Game.Scene.AddComponent(); Log.Info("服务器启动完成!"); Game.EventSystem.Publish(new ServerStart()); } catch (Exception e) { Console.WriteLine(e); } } public static void Update() { OneThreadSynchronizationContext.Instance.Update(); Game.EventSystem.Update(); } public static void LateUpdate() { Game.EventSystem.LateUpdate(); } public static void OnApplicationQuit() { Game.Close(); } }