private static void doExit() { if (!_inited) { return; } if (_exited) { return; } _exited = true; Ctrl.print("shine exit"); if (_exitRun != null) { _exitRun(); } NetControl.dispose(); ThreadControl.dispose(); SystemControl.dispose(); #if UNITY_EDITOR UnityEditor.EditorApplication.isPlaying = false; #else Application.Quit(); #endif }
private void OnApplicationPause(bool pauseStatus) { if (pauseStatus) { Ctrl.print("暂停游戏"); } else { Ctrl.print("暂停结束,恢复游戏"); } SystemControl.onApplicationPause(pauseStatus); }
private void OnApplicationQuit() { //退出就开编辑器模式 if (!ShineSetting.isRelease) { ShineSetting.isEditor = true; } SystemControl.onApplicationQuit(); Ctrl.print("应用结束"); }
/// <summary> /// 启动 /// </summary> public static void setup(GameObject root, Action exitRun = null) { if (_inited) { return; } _inited = true; _root = root; GameObject.DontDestroyOnLoad(_root); _exitRun = exitRun; _rootBehavious = _root.AddComponent <ShineBehavious>(); SystemControl.init(); ThreadControl.init(); DateControl.init(); NetControl.init(); BytesControl.init(); //显示部分 if (ShineSetting.isWholeClient) { SKeyboardControl.init(); STouchControl.init(); UIControl.init(); CameraControl.init(); Tween.init(); LoadControl.init(); ResourceInfoControl.init(); AssetPoolControl.init(); } else { //gm指令所需 if (ShineSetting.needGMCommandUI) { SKeyboardControl.init(); STouchControl.init(); UIControl.init(); } ShineSetting.debugJumpResourceVersion = true; ResourceInfoControl.initBase(); } }
public static void setupForEditor() { SystemControl.init(); DateControl.init(); BytesControl.init(); if (ShineSetting.isWholeClient) { ResourceInfoControl.init(); } else { ResourceInfoControl.initBase(); } }
private void Update() { if (_testPause) { if (Ctrl.getTimer() >= _resumeTime) { Ctrl.print("暂停恢复"); _testPause = false; } else { return; } } Ctrl.makeFixDirty(); long now = Ctrl.getTimer(); int dd = (int)(now - _lastTime); _lastTime = now; if (dd > 0) { if ((_dateFixDelayTick -= dd) <= 0) { _dateFixDelayTick = ShineSetting.dateFixDelay; DateControl.makeFixDirty(); } //系统逻辑 SystemControl.onFrame(); //计时器 TimeDriver.instance.tick(dd); } TimeDriver.instance.update(); //线程事务最后执行 if (dd > 0) { //线程 ThreadControl.onFrame(); } }