public static void EnterStatus(string statusName) { if (s_currentAppStatusName == statusName) { return; } s_currentAppStatusName = statusName; ApplicationManager.Instance.currentStatus = statusName; if (s_currentAppStatus != null) { s_currentAppStatus.CloseAllUI(); s_currentAppStatus.OnExitStatus(); } s_currentAppStatus = GetStatus(statusName); s_currentAppStatus.OnEnterStatus(); if (OnStatusChangeCallBack != null) { OnStatusChangeCallBack(s_currentAppStatus); } //ApplicationManager.Instance.StartCoroutine(s_currentAppStatus.InChangeScene(() => //{ // s_currentAppStatus.OnEnterStatus(); //})); }
public static void EnterStatus(string statusName) { if (s_currentAppStatus != null) { s_currentAppStatus.CloseAllUI(); s_currentAppStatus.OnExitStatus(); } s_currentAppStatus = GetStatus(statusName); ApplicationManager.Instance.StartCoroutine(s_currentAppStatus.InChangeScene(() => { s_currentAppStatus.OnEnterStatus(); })); }
public static void EnterStatus(string statusName, bool isFade = true) { if (s_currentAppStatusName == statusName) { return; } if (!isFade) { if (s_currentAppStatus != null) { s_currentAppStatus.CloseAllUI(); s_currentAppStatus.OnExitStatus(); } s_currentAppStatusName = statusName; ApplicationManager.Instance.currentStatus = statusName; s_currentAppStatus = GetStatus(statusName); s_currentAppStatus.OnEnterStatus(); if (OnStatusChangeCallBack != null) { OnStatusChangeCallBack(s_currentAppStatus); } } else { if (s_currentAppStatus != null) { UIManager.SetEventSystemEnable(false); CameraFade.Instance.FadeInToOut(s_fadeInTime, s_afterInDelayTime, s_fadeOutTime, () => { UIManager.SetEventSystemEnable(true); s_currentAppStatus.CloseAllUI(false); s_currentAppStatus.OnExitStatus(); s_currentAppStatusName = statusName; ApplicationManager.Instance.currentStatus = statusName; s_currentAppStatus = GetStatus(statusName); s_currentAppStatus.OnEnterStatus(); if (OnStatusChangeCallBack != null) { OnStatusChangeCallBack(s_currentAppStatus); } }); } else { s_currentAppStatusName = statusName; ApplicationManager.Instance.currentStatus = statusName; s_currentAppStatus = GetStatus(statusName); s_currentAppStatus.OnEnterStatus(); if (OnStatusChangeCallBack != null) { OnStatusChangeCallBack(s_currentAppStatus); } } } //ApplicationManager.Instance.StartCoroutine(s_currentAppStatus.InChangeScene(() => //{ // s_currentAppStatus.OnEnterStatus(); //})); }
private static void EnterStatusLogic(string statusName, bool isFade = true) { if (!isFade) { if (s_currentAppStatus != null) { s_currentAppStatus.CloseAllUI(); try { s_currentAppStatus.OnExitStatus(); MemoryManager.FreeMemory(); } catch (Exception e) { Debug.LogError("EnterStatus Exception " + statusName + " " + e.ToString()); } } s_currentAppStatusName = statusName; ApplicationManager.Instance.currentStatus = statusName; s_currentAppStatus = GetStatus(statusName); try { s_currentAppStatus.OnEnterStatus(); } catch (Exception e) { Debug.LogError("EnterStatus Exception " + statusName + " " + e.ToString()); } try { if (OnStatusChangeCallBack != null) { OnStatusChangeCallBack(s_currentAppStatus); } } catch (Exception e) { Debug.LogError("EnterStatus Exception " + statusName + " " + e.ToString()); } } else { if (s_currentAppStatus != null) { //Debug.Log("Change "); UIManager.SetEventSystemEnable(false); CameraFade.FadeInToOut(s_fadeInTime, s_afterInDelayTime, s_fadeOutTime, () => { //Debug.Log("Change call back "); UIManager.SetEventSystemEnable(true); s_currentAppStatus.CloseAllUI(false); s_currentAppStatus.OnExitStatus(); MemoryManager.FreeMemory(); s_currentAppStatusName = statusName; ApplicationManager.Instance.currentStatus = statusName; s_currentAppStatus = GetStatus(statusName); try { s_currentAppStatus.OnEnterStatus(); } catch (Exception e) { Debug.LogError("EnterStatus Exception " + statusName + " " + e.ToString()); } try { if (OnStatusChangeCallBack != null) { OnStatusChangeCallBack(s_currentAppStatus); } } catch (Exception e) { Debug.LogError("EnterStatus Exception " + statusName + " " + e.ToString()); } }); } else { s_currentAppStatusName = statusName; ApplicationManager.Instance.currentStatus = statusName; s_currentAppStatus = GetStatus(statusName); try { s_currentAppStatus.OnEnterStatus(); } catch (Exception e) { Debug.LogError("EnterStatus Exception " + statusName + " " + e.ToString()); } try { if (OnStatusChangeCallBack != null) { OnStatusChangeCallBack(s_currentAppStatus); } } catch (Exception e) { Debug.LogError("EnterStatus Exception " + statusName + " " + e.ToString()); } } } }