using System; using UnityEngine; namespace MoleMole { public class MonoApplicationBehaviour : MonoBehaviour { private DateTime _timeEnterBG = TimeUtil.Now; private ApplicationManager _applicationManager; public void Init(ApplicationManager applicationManager) { _applicationManager = applicationManager; } private void OnApplicationPause(bool paused) { if (Singleton.Instance != null) { Singleton.Instance.SetPause(paused); } if (paused) { _timeEnterBG = TimeUtil.Now; return; } bool flag = false; if (MiscData.Config != null && MiscData.Config.BasicConfig.IsRestartWhenGameResume && (TimeUtil.Now - _timeEnterBG).TotalSeconds > (double)MiscData.Config.BasicConfig.RestartGameTimeSpanSeconds && Singleton.Instance != null && Singleton.Instance.alreadyLogin) { flag = true; GeneralLogicManager.RestartGame(); } if (!flag && Singleton.Instance != null) { Singleton.Instance.DetectCheat(); } if (!flag) { Singleton.Instance.manager.ShowPausePage(); Singleton.Instance.manager.ShowToolBar(); } } private void Update() { GraphicsUtils.RebindAllRenderTexturesToCamera(); if (Singleton.Instance != null) { Singleton.Instance.UpdateSendMessageToSever(); } _applicationManager.ManualCoroutinesMoveNext(); _applicationManager.ClearFinishCoroutines(); } } }